Java学习-071-多线程04:强制运行线程 join()
在执行开发时,若任务A(主线程)运行到一定程度,满足特定的条件后,必须启动 B任务(示例线程),则可通过线程 join() 方法实现,示例源代码如下所示:
package com.fanfengping.demo; import lombok.extern.slf4j.Slf4j; @Slf4j public class Demo08RunnableJoin implements Runnable { @Override public void run() { for (int i = 0; i < 3; i++) { log.info("{} 运行,i = {}", Thread.currentThread().getName(), i); } } public static void main(String[] args) { Demo08RunnableJoin demo08RunnableJoin = new Demo08RunnableJoin(); Thread threadJoin = new Thread(demo08RunnableJoin, "强制执行线程"); threadJoin.start(); for (int i = 0; i < 5; i++) { if (i > 4) { try { threadJoin.join(); } catch (InterruptedException e) { e.printStackTrace(); } } log.info("Main线程运行中 ---> {}", i); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } } }
控制台输出如下所示:
线程 B 强制运行期间,主线程无法运行,必须等待此线程完成之后才可以继续执行。
欢迎 【 留言 || 关注 || 打赏 】 。您的每一份心意都是对我的鼓励和支持!非常感谢!欢迎互加,相互交流学习!
作者:范丰平,本文链接:https://www.cnblogs.com/fengpingfan/p/14701388.html
Copyright @范丰平 版权所有,如需转载请标明本文原始链接出处,严禁商业用途! 我的个人博客链接地址:http://www.cnblogs.com/fengpingfan