java 线程中join的使用
来源:互联网 发布:360手机数据恢复软件 编辑:程序博客网 时间:2024/06/06 06:24
Thread的非静态方法join()让一个线程B“加入”到另外一个线程A的尾部。在A执行完毕之前,B不能工作。例如:
另外,join()方法还有带超时限制的重载版本。 例如t.join(5000);则让线程等待5000毫秒,如果超过这个时间,则停止等待,变为可运行状态。
线程的加入join()对线程栈导致的结果是线程栈发生了变化,当然这些变化都是瞬时的。
public class TestJoin {
public static void main(String[] args) {
MyThread2 t1 = new MyThread2("TestJoin");
t1.start();
try {
t1.join(); //join()合并线程,子线程运行完之后,主线程才开始执行
}catch (InterruptedException e) { }
for(int i=0 ; i <10; i++)
System.out.println("I am Main Thread");
}
}
class MyThread2 extends Thread {
MyThread2(String s) {
super(s);
}
public void run() {
for(int i = 1; i <= 10; i++) {
System.out.println("I am "+getName());
try {
sleep(1000); //暂停,每一秒输出一次
}catch (InterruptedException e) {
return;
}
}
}
}
程序运行结果:
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
0 0
- java 线程中join的使用
- 线程中join()方法的使用
- python 线程中join方法的使用
- App11_03_线程中join()方法的使用
- Java线程5:join方法的使用
- JAVA中join的使用
- java中join()方法的使用
- 线程中yield()与join()方法的使用
- Java线程中yield与join方法的区别
- java线程中yield()和join()的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- hdoj-4245-A Famous Music Composer
- C++ string类型变量
- 赢在职场-WEB全栈开发-1-8盒子模型
- PAT 1002
- 防丢App记录(2)--将序列号通过文件存储
- java 线程中join的使用
- Git常用命令
- Linux 下tomcat的session共享
- 一个程序猿菜鸟的心声
- In android studio,cannot load 2 facets-unknown facet type:android and android-gradle
- 单链表基本操作详解
- 浮点数在计算机内存中是如何存储的?
- 51网
- Lambda表达式