美文网首页
关于多线程join方法

关于多线程join方法

作者: 汪梓文 | 来源:发表于2017-05-07 09:55 被阅读0次

Thread的非静态方法join()让一个线程B“加入”到另外一个线程A的尾部。在A执行完毕之前,B不能工作。例如:

       Thread t = new MyThread();

       t.start();

       t.join();

另外,join()方法还有带超时限制的重载版本。 例如t.join(5000);则让线程等待5000毫秒,如果超过这个时间,则停止等待,变为可运行状态。

线程的加入join()对线程栈导致的结果是线程栈发生了变化,当然这些变化都是瞬时的。

1publicclass TestJoin {

2 3publicstaticvoid main(String[] args) {

4 5     MyThread2 t1 = new MyThread2("TestJoin");

6    t1.start();

7try {

8       t1.join();  //join()合并线程,子线程运行完之后,主线程才开始执行 9      }catch (InterruptedException e) {  }

1011for(int i=0 ; i <10; i++)

12               System.out.println("I am Main Thread");

13   }

14 }

1516class MyThread2 extends Thread {

1718    MyThread2(String s) {

19super(s);

20     }

2122publicvoid run() {

23for(int i = 1; i <= 10; i++) {

24      System.out.println("I am "+getName());

25try {

26       sleep(1000); //暂停,每一秒输出一次27       }catch (InterruptedException e) {

28return;

29     }

30     }

31   }

32   }

程序运行结果:

I am TestJoin

I am TestJoin

I am TestJoin

I am TestJoin

I am TestJoin

I am TestJoin

I am TestJoin

I am TestJoin

I am TestJoin

I am TestJoin

I am Main Thread

I am Main Thread

I am Main Thread

I am Main Thread

I am Main Thread

I am Main Thread

I am Main Thread

I am Main Thread

I am Main Thread

I am Main Thread

转载:http://blog.sina.com.cn/s/blog_5c5bc9070100ytye.html

相关文章

  • 关于多线程join方法

    Thread的非静态方法join()让一个线程B“加入”到另外一个线程A的尾部。在A执行完毕之前,B不能工作。例如...

  • Android:多线程总结

    多线程总结 问题一:多线程join如何实现? join用来等待一个线程完成。join方法会调用wait函数,这个w...

  • Java 面试题

    java多线程实现主线程等待子线程执行完问题 1、使用Thread的join()方法,join()方法会阻塞主线程...

  • 并发

    保证多线程的顺序执行 方式1:通过join方法保证多线程的顺序join作用:让主线程等待子线程结束后才能继续运行 ...

  • java线程join方法使用方法简介

    本博客简介介绍一下java线程的join方法,join方法是实现线程同步,可以将原本并行执行的多线程方法变成串行执...

  • java并发工具类

    等待多线程完成 主线程等待所有线程完成工作 实现 thread.join()方法 原理 join 用于让当前执行线...

  • 控制线程的执行顺序

    通过join方法保证多线程的顺序性特性 join 让主线程等待子线程结束以后才能继续运行,执行流程如下: 通过线程...

  • 多线程

    多线程技术 多线程技术2 多线程应用 server client join函数

  • android 面试题总结

    Jave部分 一、多线程 Join() 线程加入,执行此方法的线程优先使用cpu Yeild() 线程释放...

  • Python多线程与多线程中join()的用法

    Python多线程与多进程中join()方法的效果是相同的。 下面仅以多线程为例: 首先需要明确几个概念: 知识点...

网友评论

      本文标题:关于多线程join方法

      本文链接:https://www.haomeiwen.com/subject/rllutxtx.html