Java入门3.3---线程按顺序执行
Posted nxf_rabbit75
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java入门3.3---线程按顺序执行相关的知识,希望对你有一定的参考价值。
一、使用线程的join方法
join():正在执行的线程需要等待调用join()的线程执行完之后,才可以继续执行。
使用场景:当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。
/** * 功能描述:顺序执行步骤1,2,3, * @since 2020-06-08 */ class TestJoin { public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override public void run() { System.out.println("第1步"); } }); Thread t2 = new Thread(new Runnable() { @Override public void run() { try { t1.join(); System.out.println("第2步"); } catch (InterruptedException e) { e.printStackTrace(); } } }); Thread t3 = new Thread(new Runnable() { @Override public void run() { try { t2.join(); System.out.println("第3步"); } catch (InterruptedException e) { e.printStackTrace(); } } }); System.out.println("第2步准备..."); t2.start(); System.out.println("第3步准备..."); t3.start(); System.out.println("第1步准备..."); t1.start(); } } |
第2步准备... 第3步准备... 第1步准备... 第1步 第2步 第3步 |
二、使用主线程的join方法
三、使用线程的wait方法
四、使用线程的线程池方法
五、使用线程的Condition(条件变量)方法
六、使用线程的CountDownLatch(倒计数)方法
七、使用线程的CyclicBarrier(回环栅栏)方法
八、使用线程的Semaphore(信号量)方法
以上是关于Java入门3.3---线程按顺序执行的主要内容,如果未能解决你的问题,请参考以下文章
Java深入学习12:线程按目标顺序执行以及Lock锁和Condiiton接口