No6.等待线程结束(join)和通知(notify)
2017-01-03 17:34
549 查看
先看 join例子:
public class JoinMain {
public volatile static int i = 0;
public static class AddThread extends Thread {
public void run () {
for(i=0;i<1000000;i++);
}
}
public static void main(String[] args) throws InterruptedException {
AddThread at = new AddThread();
at.start();
//如果注释了 join函数 那么得到的i可能是0或者一个非常小的数字。因为AddThread还没开始执行,i的值就已经被输出了。
//使用了join函数后,表示主线程愿意等待AddThread执行完毕,再执行。
at.join();
System.out.println(i);
}
}
public class JoinMain {
public volatile static int i = 0;
public static class AddThread extends Thread {
public void run () {
for(i=0;i<1000000;i++);
}
}
public static void main(String[] args) throws InterruptedException {
AddThread at = new AddThread();
at.start();
//如果注释了 join函数 那么得到的i可能是0或者一个非常小的数字。因为AddThread还没开始执行,i的值就已经被输出了。
//使用了join函数后,表示主线程愿意等待AddThread执行完毕,再执行。
at.join();
System.out.println(i);
}
}
相关文章推荐
- Java多线程之线程间通信--等待(wait)/通知(notify)机制,等待/通知之交叉备份实例
- 网络编程(35)—— 利用pthread_join函数等待线程结束并获取线程函数返回值
- No5.线程的等待(wait)和通知(notify)
- C# 多线程join的用法,等待多个子线程结束后再执行主线程
- Java Thread.join()详解--父线程等待子线程结束后再结束
- 主线程中使用join等待所有子线程执行结束
- Windows和Linux上分别怎样实现等待某个线程结束?---用WaitForSingleObject和pthread_join
- 关于线程中断interrupt()、谦让yield()、等待线程结束join()
- Java Thread.join()详解--父线程等待子线程结束后再结束
- 以事件通知线程结束,并等待线程安全退出
- java线程等待、设置优先级、同步、挂起、恢复(Join、setPriority、synchronized、wait、notify……)
- Java线程等待wait通知notify方法的使用
- 《并发编程》--5.线程等待结束(join)和线程谦让(yield)
- java线程等待、设置优先级、同步、挂起、恢复(Join、setPriority、synchronized、wait、notify……)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- java中主线程等待所有子线程结束
- java多线程之线程间通信:等待/通知机制
- iOS 等待异步线程结束再执行后续代码
- JAVA主线程等待子线程全部结束
- java线程之间的通信(等待/通知机制)