展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Thread.join通信

  • 简介
1、使用场景:线程A执行到一半,需要一个数据,这个数据需要线程B去执行修改,只有B修改完成之后,A才能继续操作
2、线程A的run方法里面,调用线程B的join方法,这个时候,线程A会等待线程B运行完成之后,再接着运行
  • 代码案例
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(() -> {
System.out.println(Thread.currentThread().getName()+"开始运行");
try {
Thread.sleep(3000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"结束运行");
}, "线程1");
new Thread(() -> {
System.out.println(Thread.currentThread().getName()+"开始运行");
thread.start(); // 线程1运行完成
try {
thread.join(); // 调用线程1的join方法
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"运行结束");
}, "线程2").start();
}
}
# 控制台输出结果:
线程2开始运行
线程1开始运行
线程1结束运行
线程2运行结束
posted @   DogLeftover  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示