Java Thread join() 的用法
2024-10-19 17:23:58
Java Thread中, join() 方法主要是让调用改方法的thread完成run方法里面的东西后, 在执行join()方法后面的代码。示例:
- class ThreadTesterA implements Runnable {
- private int counter;
- @Override
- public void run() {
- while (counter <= 10) {
- System.out.print("Counter = " + counter + " ");
- counter++;
- }
- System.out.println();
- }
- }
- class ThreadTesterB implements Runnable {
- private int i;
- @Override
- public void run() {
- while (i <= 10) {
- System.out.print("i = " + i + " ");
- i++;
- }
- System.out.println();
- }
- }
- public class ThreadTester {
- public static void main(String[] args) throws InterruptedException {
- Thread t1 = new Thread(new ThreadTesterA());
- Thread t2 = new Thread(new ThreadTesterB());
- t1.start();
- t1.join(); // wait t1 to be finished
- t2.start();
- t2.join(); // in this program, this may be removed
- }
- }
如果去掉t1.join()这个语句过后, 输出的书序是乱的, 加上这个语句过后, 就会按照顺序输出, 从某种意义上说实现了同步。
转自:http://auguslee.iteye.com/blog/1292203
最新文章
- Moon.Orm与其他Orm的技术对比
- php课程---文件操作及文件上传的代码总结
- redis3.0.5集群部署安装详细步骤
- 第三十六章 metrics(4)- metrics-graphite
- 银行IT入门深似海
- Watch out for these 10 common pitfalls of experienced Java developers &; architects--转
- Bulls and Cows
- 收藏的博客--Ogre
- (medium)LeetCode 264.Ugly Number II
- 获取客户端访问的ip地址
- 利用openssl进行RSA加密解密
- Hazelcase 简介
- myql 注意事项
- Installshield在安装结束时刷新系统
- android 菜单的总结
- destoon源码分析一
- [SDOI2013]森林
- JS语法转换-ES6转ES5
- gravity 和 layout_gravity
- Vuejs——(1)入门(单向绑定、双向绑定、列表渲染、响应函数)
热门文章
- spring + myBatis 常见错误:注解事务不回滚
- tcpdump for android L 5.x with pie support
- nyoj_299_Matrix Power Series_矩阵快速幂
- Divide and conquer:Drying(POJ 3104)
- 屏幕截图、录像FastStone Capture
- ajax传值方式为数组
- iOS-WKWebView携带cookie发送http请求,cookie失效
- IOS-UIIamge初始化的几种方法的比较
- 6. ZigZag Conversion
- osg::NodeVisitor中计算一个节点对应的世界变换矩阵、法向量、顶点坐标