![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
Deram_川少
该工程师很懒,没有介绍~~~~
展开
-
生产者与消费者的实现
生产者与消费者的实现 一到多个线程充当生产者,生产元素。一到多个线程充当消费者,消费元素。在两者之间插入一个队列充当缓冲区,建立起生产者和消费者的松散耦合。 正常情况下,即生产元素的速度和消费元素的速度差不多时,生产者和消费者其实是不需要去关注对方的。 生产者可以一直生产,因为队列里总是有空间。消费者可以一直消费,因为队列里总是有元素。即达到一个动态的平衡。 但在特殊情况下,比如生产元素的速度很...原创 2020-03-23 11:10:03 · 200 阅读 · 0 评论 -
原子操作CAS
原子操作CAS 今天给大家介绍原子类操作,原子操作CAS是一种非阻塞的、线程安全的,相对于阻塞的synchronized同步锁性能更好,在多线程同时更新一个变量,可能造成更新后的值不准确。synchronized会保证多线程不会同时更新一个变量。Jdk1.5增加了java.util.concurrent包,这个包中的原子操作类就为我们提供了一种性能高效、线程安全地更新一个变量的方式。 看看jdk...原创 2019-08-05 15:33:31 · 174 阅读 · 0 评论 -
谈谈显示锁Lock和Synchronized
Lock接口和synchronized的比较 Lock是一个接口,而synchronized是java的一个关键字。 Lock适用于以下场景:获取锁可以被中断interrupt,超时获取锁,尝试获取锁trylock,读多写少用读写锁。而synchronized就不是可中断锁。 synchronized和ReentrantLock都是可重入锁。 Lock一定要将同步代码块用try catch包起来...原创 2019-08-06 17:11:17 · 207 阅读 · 0 评论