线程那点事
从最基础开始解析线程那点事
高级摸鱼工程师
对技术有兴趣 对业务有想法
展开
-
【线程知识点】-- ThreadLocal
概述源码介绍: * This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread that accesses one (via its * {@code get} or {@code set} method) has...原创 2018-05-30 15:29:52 · 1397 阅读 · 0 评论 -
【线程知识点】-- CountDownLatch
CountDownLatch是什么CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望...原创 2018-05-18 12:47:26 · 1086 阅读 · 0 评论 -
【线程知识点】-- 栅栏:CyclicBarrier
1请输入标题首先看下JDK中的介绍:/** * A synchronization aid that allows a set of threads to all wait for * each other to reach a common barrier point. CyclicBarriers are * useful in programs involving a fixed s...原创 2018-05-17 19:00:28 · 1221 阅读 · 0 评论 -
【线程知识点】-- 信号量:Semaphore
信号量Semaphore是一个控制访问多个共享资源的计数器,它本质上是一个“共享锁”。Java并发提供了两种加锁模式:共享锁和独占锁。ReentrantLock就是独占锁。对于独占锁而言,它每次只能有一个线程持有,而共享锁则不同,它允许多个线程并行持有锁,并发访问共享资源。独占锁它所采用的是一种悲观的加锁策略, 对于写而言为了避免冲突独占是必须的,但是对于读就没有必要了,因为它不会影响数据的一致...原创 2018-05-16 16:45:43 · 1381 阅读 · 0 评论 -
【线程知识点】--可见性
可见性可见性:一个线程对共享变量的修改,能够及时的被其它线程看到。共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。 Java内存模型所有的变量都存贮在主内存中每个线程都拥有自己独立的工作内存,里边保存该线程使用到的变量副本(主内存中该变量的一份拷贝)两条规定:线程对共享变量的所有操作都必须在自己的工作内存中进行,不可以直接操作主内存不同线程之间无法直接...原创 2018-05-13 17:36:51 · 1145 阅读 · 0 评论