![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
concurrent
proccessor
这个作者很懒,什么都没留下…
展开
-
并发编程--显示锁
并发编程–显示锁1.预备概念显示锁和内部锁区别?最大区别在于是否需要手动地去获取、释放锁,手动获取和释放锁的方法就叫显示锁,否则就是内部锁。ReentrantLock 属于显示锁,synchronzied 属于内部锁。为什么需要显示锁?内部锁拿锁和取锁的过程比较固定,没有办法灵活的获取和释放锁,显示锁就是手动获取和释放锁,提供超时拿锁、尝试拿锁的功能,这些功能是内部锁不具备的。2....原创 2019-12-01 17:28:48 · 167 阅读 · 0 评论 -
原子操作CAS
并发编程–原子操作CAS1.预备概念CAS:(compared and sweep)比较后进行交换,是一种乐观锁的设计思想。synchronized:是以一种基于悲观锁的实现。原子操作:不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何上下文切换,在x86 平台上,CPU提供了在指令执行期间对总线加锁的手段,需要硬件支持。2.CAS原理一.实现原理:流程...原创 2019-11-30 22:30:14 · 188 阅读 · 0 评论 -
并发编程--synchronized、volatile、ThreadLocal的使用
并发编程–synchronized、volatile、ThreadLocal的使用1.synchronized内置锁加锁目标对象对象锁类锁加锁的注意事项:各个线程竞争锁的目标对象必须是同一个。各个线程竞争锁的目标对象不能更改,例如:/** * 类说明:错误的加锁和原因分析 */public class TestIntegerSyn { public stat...原创 2019-11-30 10:54:08 · 383 阅读 · 0 评论 -
并发编程一(线程间的共享和协作)
并发编程一(线程间的共享和协作)基础概念进程和线程的区别?CPU核心数和线程数的关系?什么是CPU时间片轮转机制?上下文切换?并行和并发?进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位,包含关系,一个进程包含多个线程。内核数:线程数=1:1 超线程技术后 内核数:线程数=1:2RR时间片轮换机制,CPU来回切换线程运行。上下文切换非常耗费CPU资...原创 2019-11-27 23:32:53 · 370 阅读 · 0 评论