博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中主线程等待所有子线程结束
阅读量:6292 次
发布时间:2019-06-22

本文共 867 字,大约阅读时间需要 2 分钟。

今天有一个需求是:在一个方法中开启了一个子线程来执行操作,返回值依赖于子线程的执行结果,这样如果要返回正确的值,就需要开启子线程后

主线程等待子线程,然后子线程执行结束后,主线程再继续执行。

主线程等待子线程需要用到:CountDownLatch

直接上代码:

public boolean isUpdateResource() {						CountDownLatch cdl=new CountDownLatch(1);//这里的数字,开启几个线程就写几 									new MyThread(cdl).start();									try {			cdl.await();//主线程等待子线程执行		} catch (InterruptedException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		if(result!="0"){			isUpdateResource=true;			resurseUrl=result;		}				return isUpdateResource;	}

 创建一个Thread类

public class MyThread extends Thread{	private CountDownLatch cdl;	public MyThread(CountDownLatch cdl){		this.cdl=cdl;	}	@Override	public void run() {		// TODO Auto-generated method stub		super.run();					result = connectServer(serverUrl);					cdl.countDown();	}}

 这样就实现了,主线程等待子线程结束后再执行。

转载于:https://www.cnblogs.com/all88/archive/2013/04/17/3026373.html

你可能感兴趣的文章
常用链接
查看>>
pitfall override private method
查看>>
!important 和 * ----hack
查看>>
聊天界面图文混排
查看>>
控件的拖动
查看>>
svn eclipse unable to load default svn client的解决办法
查看>>
Android.mk 文件语法详解
查看>>
QT liunx 工具下载
查看>>
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>