java 中Thread.join()的使用方法
更新时间:2017年04月06日 09:59:04 投稿:lqh
这篇文章主要介绍了java 中Thread.join()的使用方法的相关资料,需要的朋友可以参考下
java 中Thread.join()的使用方法
如果一个线程A执行了thread.join()语句,其含义是:当前线程A等待thread线程终止之后才从thread.join()返回。
import java.util.concurrent.TimeUnit; /** * 6-13 */ public class Join { public static void main(String[] args) throws Exception { Thread previous = Thread.currentThread(); for (int i = 0; i < 10; i++) { // 每个线程拥有前一个线程的引用,需要等待前一个线程终止,才能从等待中返回 Thread thread = new Thread(new Domino(previous), String.valueOf(i)); thread.start(); previous = thread; } TimeUnit.SECONDS.sleep(5); System.out.println(Thread.currentThread().getName() + " terminate."); } static class Domino implements Runnable { private Thread thread; public Domino(Thread thread) { this.thread = thread; } public void run() { try { thread.join(); } catch (InterruptedException e) { } System.out.println(Thread.currentThread().getName() + " terminate."); } } }
执行结果:
main terminate. 0 terminate. 1 terminate. 2 terminate. 3 terminate. 4 terminate. 5 terminate. 6 terminate. 7 terminate. 8 terminate. 9 terminate.
相关文章
SpringBoot+Redis执行lua脚本的5种方式总结
Lua是一种快速、轻量级的脚本语言,广泛应用于各种领域,包括数据库,Redis作为一个内嵌Lua解释器的NoSQL数据库,允许通过Lua脚本在服务器端执行一些复杂的操作,本文给大家介绍了使用SpringBoot Redis执行lua脚本的五种方式,需要的朋友可以参考下2023-11-11Springboot项目出现java.lang.ArrayStoreException的异常分析
这篇文章介绍了Springboot项目出现java.lang.ArrayStoreException的异常分析,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-12-12
最新评论