室内设计网站公司,属于网页制作平台有哪些,肥西县重点建设局网站,深圳西乡房价多少一平方面试官#xff1a;如让线程顺序执行#xff1f;我#xff1a;使用Thread的join方法。面试官#xff1a;除了join还有别的办法吗#xff1f;我#xff1a;目前只用过join。面试官#xff1a;哦#xff0c;那你了解CountDownLatch吗#xff1f;我#xff1a;不了解如让线程顺序执行我使用Thread的join方法。面试官除了join还有别的办法吗我目前只用过join。面试官哦那你了解CountDownLatch吗我不了解没使用过。面试中被问到线程顺序执行相信大家都能答出来join但是除了join还有其他的办法不知道大家了解不。我这里分享下3种方式。第一种joinjoin方式第二种线程池通过Executors.newSingleThreadExecutor()来实现(这里可以看我的《面试官问你java都有哪些线程池自己是否自定义过线程池》)线程池第三种通过CountDownLatch实现CountDownLatch这3种方式哪种比较好我个人认为还是CountDownLatch因为他的粒度更细比如我上面的例子t2线程执行一半t3线程就可以执行通过join和线程池都实现不了。而通过CountDownLatch可以实现如图CountDownLatch细粒度总结 选择使用什么样的方式取决于你的需求如果你只是想顺序的执行那join和线程池都可以使用因为这2种方式比较简单。如果需求是细粒度的比如线程1执行到某个部分线程2就得执行就使用CountDownLatch。但是使用它时一定要理清逻辑不然可能await方法会阻塞。