如何控制线程的执行顺序

控制线程的执行顺序有两种办法,通常来说,最简单的就算用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先出来。

大概原理就这些了

猜你喜欢

转载自blog.csdn.net/world6/article/details/79476722