Java并发编程之CountDownLatch(闭锁)使用详解
package com.zhangxueliang.day_20191108;import java.util.concurrent.CountDownLatch;/*** 计算多线程的运行时间* @author Administrator**/
public class CountDownLatchDemo {public static void main(String[] args) {CountDownLatch countDownLatch = new CountDownLatch(5);LatchDemo latchDemo = new LatchDemo(countDownLatch);long begin = System.currentTimeMillis();for (int i = 0; i < 5; i++) {new Thread(latchDemo).start();}try {countDownLatch.await();} catch (InterruptedException e) {e.printStackTrace();}long end = System.currentTimeMillis();System.out.println("多线程运行共耗时:"+(end-begin)+"毫秒");}}class LatchDemo implements Runnable{private CountDownLatch countDownLatch;public LatchDemo() {super();}public LatchDemo(CountDownLatch countDownLatch) {super();this.countDownLatch = countDownLatch;}@Overridepublic void run() {try{for (int i = 0; i < 50000; i++) {if(i%2==0){System.out.println(i);}}}finally{countDownLatch.countDown();}}}
Java并发编程之CountDownLatch(闭锁)使用详解相关推荐
- Java并发编程之CountDownLatch/CyclicBarrierDemo/SemaphoreDemo详解
CountDownLatch详解 什么是CountDownLatch? 代码说明一 :班长锁门 代码说明二:秦国统一六国 什么是CyclicBarrierDemo? 代码说明一:集齐7个龙珠,召唤神龙 ...
- Java并发编程之LinkedTransferQueue阻塞队列详解
简介 LinkedTransferQueue是一个由链表结构组成的无界阻塞TransferQueue队列.相对于其他阻塞队列,LinkedTransferQueue多了tryTransfer和tran ...
- Java并发编程之CountDownLatch闭锁
CountDownLatch 典型应用场景:主线程启动多个子线程同时执行业务逻辑,所有子线程都执行完毕,再唤醒主线程继续执行. 例子: public class CountDownLatchTest ...
- java并发编程之Thread.sleep方法详解
Thread.sleep方法的作用: 使当前线程暂停执行一段时间,交出cpu的执行时间片,并且在暂停期间不会参与cpu时间片的获取.直到等待时间结束恢复到就绪状态,是否执行还要看OS的调度,或者在这段 ...
- java并发编程之thread.join()方法详解
thread.join()方法的作用:保证线程的执行结果的可见性.原理是通过阻塞主线程实现的. 代码Demo如下: public class ThreadJoinDemo {public static ...
- Java网络编程之Socket和ServerSocket详解
Socket Socket是实现客户端套接字的类,套接字是两台计算机之间进行通信的端点. Socket的实际工作由SocketImpl类的实例执行 .通过更改用于创建套接字实现的套接字工厂,应用程序可 ...
- Java并发编程之CountDownLatch源码解析
一.导语 最近在学习并发编程原理,所以准备整理一下自己学到的知识,先写一篇CountDownLatch的源码分析,之后希望可以慢慢写完整个并发编程. 二.什么是CountDownLatch Count ...
- Java并发编程之CountDownLatch、CyclicBarrier和Semaphore
前言 本文为对CountDownLatch.CyclicBarrier.Semaphore的整理使用 CountDownLatch CountDownLatch类位于java.util.concurr ...
- Java并发编程之CountDownLatch
目录 一.概述 二.CountDownLatch与join的异同 三.源码解析 3.1.await方法源码解析 3.2.downCount方法源码解析 一.概述 作用:可以用来确保某些活动直到其他活动 ...
最新文章
- Convert.ToInt32
- Vue.js 表单输入绑定
- 周志华机器学习课后习题解析【第二章】
- 深入浅出MySQL事务处理和锁机制
- 20应用统计考研复试要点(part31)--简答题
- Flash--元件和实例
- python自动处理多个txt文件_怎么用python去实现几个文件中内容的并行处理
- 霍夫变换提取圆心坐标,并拟合直线
- linux 没有可用的缓冲区空间不足,由于系统缓冲区空间不足或队列已满,不能执...
- 转载TortoiseSVN的使用详解2(http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html)
- 【数据结构-堆栈(顺序存储)GO语言实现】
- k8s中配置namespace的最小和最大内存
- 探针台选型的有哪些注意事项
- 教你如何提取图片中的文字?
- 【西瓜书笔记】补充1:logistic回归及其损失函数,梯度下降推导
- vue3 setup 语法糖的项目实战用法
- 各大银行ATM跨行取款收费一览表
- 调用阿里云发送短信验证码的工具类
- linux c 文件锁应用详解汇总
- openjweb官方网站地址改为http://www.openjweb.com
热门文章
- PyCaret:又一个神仙ML库
- 0128互联网新闻 | 微信小游戏新增“文化互动”类目;钉钉将上线企业拜年红包...
- 互联网1分钟 |1129
- group by 练习
- 搞懂分布式技术8:负载均衡原理剖析
- mysql 数据库学习(触发器)
- react-native 单位换算(px,pt,dp,ppi)
- 部分博客中的代码已放到了GitHub上,欢迎大家下载阅读!
- [C++] STACK_Principle
- PMBOK项目管理思维导图梳理