![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
白+黑
这个作者很懒,什么都没留下…
展开
-
Synchronized关键字详解
一、Synchronized关键字synchronized 内置锁是一种对象锁,作用粒度是对象而非引用变量,可将任何非空对象当做“锁”,可用来修饰方法或代码块以保证同一时刻最多只有一个线程执行被修饰方法或代码块。synchronized 修饰的地方不相同,但它的锁都在一个对象上,它持有相同对象锁的地方发产生互斥,而不是只有当前所指的代码块或者方法体。相对于显示锁,synchroniz...原创 2019-07-30 22:24:13 · 267 阅读 · 0 评论 -
volatile关键字详解
一、volatile关键字Java 允许线程访问共享变量,为了确保共享变量能被准确、一致地更新,线程应该确保通过排他锁单独获得这个变量。Java 提供了关键字 volatile,如果一个变量被声明成 volatile,那么对这个变量写入或者读取时就不需要加锁,Java 线程内存模型能确保所有线程看到这个变量的值是一致的。能让其他线程能够马上感知到某一线程对某个变量的修改。二、volatil...原创 2019-08-09 22:31:24 · 144 阅读 · 0 评论 -
并发工具类—同步计数器CountDownLatch
CountDownLatch是一个同步工具类,为我们提供了一种并发流程的控制手段,它允许一个或多个线程等待其他线程完成操作。使用指定的数(也就是计数器,大于等于零)初始化CountDownLatch之后,每当调用countDown方法时,计数器就会减1,如果计数器的值还大于0,CountDownLatch的await方法会阻塞当前线程,直到计数器变为0,就会释放所有等待的线程。await方法后面的...原创 2019-08-13 00:29:23 · 269 阅读 · 0 评论