控制线程的执行顺序有两种办法,通常来说,最简单的就算用Thread类提供的API,使用join方法即可。其使用方法及原理:深入理解join方法的底层原理 还有一个方法就是使用:ExecutorService 这个类提供的方法,看伪码:
static ExecutorService executorService = Executors.newSingleThreadExecutor();
main(){
executorService .submit(thread1);
executorService .submit(thread2);
executorService .submit(thread3);
}
这是jdk1.5以后concurrent包提供的一个API。 意思是,创建只有一个线程的线程池来操作一个不限数量的队列。 这个队列的特点是first in first out。 所以先将 thread1 仍进去 就是thread1先出来。
大概原理就这些了