java并发编程
文章平均质量分 85
valleychen1111
这个作者很懒,什么都没留下…
展开
-
Java并发编程(四)--Semaphore
1.简介java.util.concurrent.Semaphore是一个计数信号量类,维持一个许可集合。每个acquire方法调用如果必要会阻塞直到获得一个可用许可。每个release调用增加一个许可。 在创建时可以传入int permits许可数、boolean fair是否公平,总体结构和可重入锁ReentrantLock类似,内部维持一个Semaphore.Sync类型同步器,有公平原创 2017-09-22 13:54:09 · 242 阅读 · 0 评论 -
Java并发编程(一)--AbstractQueuedSynchronizer
简介java.util.concurrent.locks.AbstractQueuedSynchronizer 简称aqs,是J.U.C包中最核心的一个类。也是J.U.C包中其他同步器的基类,J.U.C包在JSR-166中引入,作者是Doug Lea,是著名的并行计算专家。原创 2017-09-17 11:51:17 · 459 阅读 · 0 评论 -
Java并发编程(二)--java线程安全的一些基础
本文多摘自《java并发编程实战》和各种网上资料,因为java并发编程涉及内容太多,本文篇幅有限,只是对并发编程中的一些概念进行普及、和简略说明java并发编程编写正确的程序很难,编写正确的并发程序则是难上加难,和串行编程相比,并发编程线程安全性可能是非常复杂的,在没有充分的同步情况下,操作执行顺序是不可预测的,甚至产生一些奇怪的结果。所以我们需要了解一些java并发编程的基础概念、常见问题、jav原创 2017-09-18 15:17:45 · 423 阅读 · 0 评论 -
Java并发编程(三)--ReentrantLock
1.简介ReentrantLock是一个可重入(指持有锁的线程可以进行多次加锁、释放锁)的独占锁实现,拥有和synchronized一样的行为和语义,并且对其做了一些扩展,如记录持有者信息、Condition(以后的文章再讲)支持等等。 ReentrantLock基于AbstractQueuedSynchronizer实现了公平模式和不公平模式的独占锁。在构造方法中根据传入fair参数,设置syn原创 2017-09-20 10:40:18 · 264 阅读 · 0 评论 -
Java并发编程(五)--Condition
简介任意一个java.lang.Object都有一组监视器方法wait()、notify()、notifyAll(),通过这些方法和synchronized关键字配合使用可以实现等待/通知机制。通过这种机制可以轻而易举的实现消费者、生产者模式。具体实现搜索一下有很多 Condition是在java1.5中引入的,将这些对象与任意 Lock 实现组合使用,可以为每个对象提供多个等待集合。相比Obje原创 2017-10-20 15:31:38 · 547 阅读 · 0 评论