多线程
丨落叶
这个作者很懒,什么都没留下…
展开
-
浅析CountDownLatch用法
1、CountDownLatch是什么CountDownLatch可以控制线程的执行,他可以让所有持有他的多个线程同时执行,也可以控制单个线程执行。他初始化的时候会传出一个int类型的参数i,调用一次countDown()方法后i的值会减1。在一个线程中如果调用了await()方法,这个线程就会进入到等待的状态,当参数i为0的时候这个线程才继续执行。await() 方法:在Count...转载 2019-01-03 22:00:25 · 244 阅读 · 0 评论 -
CyclicBarrier的使用和常见问题
1、什么是CyclicBarrier?CyclicBarrier也叫同步屏障,在JDK1.5被引入,可以让一组线程达到一个屏障时被阻塞,直到最后一个线程达到屏障时,所以被阻塞的线程才能继续执行。CyclicBarrier好比一扇门,默认情况下关闭状态,堵住了线程执行的道路,直到所有线程都就位,门才打开,让所有线程一起通过。(引于深入浅出java CyclicBarrier -- 战小狼,感觉...原创 2019-01-18 15:30:06 · 1287 阅读 · 0 评论 -
Semaphore基本方法与应用场景实例
本章主要对Semaphore进行学习。1.Semaphore简介Semaphore,是JDK1.5的java.util.concurrent并发包中提供的一个并发工具类。所谓Semaphore即 信号量 的意思。这个叫法并不能很好地表示它的作用,更形象的说法应该是许可证管理器。其作用在JDK注释中是这样描述的:A counting semaphore. Conceptual...转载 2019-01-18 16:24:27 · 1056 阅读 · 2 评论 -
【详解】ThreadLocal为什么会内存泄漏
1、ThreadLocal 真的会内存泄漏吗? 在网上去学习ThreadLocal经常看到,在不使用的时候需要调用remove()方法,否则会有内存泄漏。通过查找资料和阅读源码并验证(验证)发现是不会出现内存泄漏。 ThreadLocal存储将存储对象放置到Thread线程中,threadLocals 变量中,ThreadLocalMap是ThreadLocal的静态...原创 2019-01-24 10:35:34 · 2119 阅读 · 0 评论 -
正确理解Thread Local的原理与适用场景
本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ThreadLocal解决什么问题由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLocal 本身,而用 实例 代表具体类型(如 StringBuidler )的实例。...转载 2019-01-20 10:41:03 · 281 阅读 · 6 评论 -
8个HAPPEN-BEFORE原则
1、单线程happen-before原则: 在同一个线程中,书写在前面的操作happen-before后面的操作。2、锁的happen-before原则: 同一个锁的unlock操作happen-before此锁的lock操作。3、volatile的happen-before原则: 对一个volatile变量的写...原创 2019-03-15 18:37:03 · 3070 阅读 · 2 评论