public static void main(String[] args) throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
long start = System.currentTimeMillis();
System.out.println("I'am start--->" + start);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
System.out.println("I'am dead");
Thread.sleep(50000000);
} catch (Exception e) {
e.printStackTrace();
} finally {
}
latch.countDown();
}
});
t.start();
latch.await(10, TimeUnit.SECONDS); //等待10秒后,如果线程没有执行完,则不再等待,进入后续
System.out.println("Game Over");
t.interrupt();
// t.stop();
long end = System.currentTimeMillis();
System.out.println("I'am end--->" + end);
System.out.println(end - start);
}
CountDownLatch控制线程是否超时
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 创建一个控制线程的对象PermenantThread,并在其中申明相应的方法 在.m文件中添加相应的代码:
- 目录导读 join线程:join 后台线程(Daemon Thread) 线程睡眠:sleep 线程让步:yiel...
- 先看例子: CounRunable 线程的实现 如下: 执行结果如下: 以上代码 确实满足 线程的 顺序执行,那是...
- 5月以来,哪怕对市场风向再不敏感的人,也感觉到阵阵凉意。二级市场连续下挫,一级市场融资环境恶化,不论企业融资数量还...