锁
L_小乌鸦
java web
网络,计算机组成,数据结构,算法,进程模型,io模型,socket,udp,tcp
展开
-
自旋锁原理及java自旋锁
一、自旋锁的概念 首先是一种锁,与互斥锁相似,基本作用是用于线程(进程)之间的同步。与普通锁不同的是,一个线程A在获得普通锁后,如果再有线程B试图获取锁,那么这个线程B将会挂起(阻塞);试想下,如果两个线程资源竞争不是特别激烈,而处理器阻塞一个线程引起的线程上下文的切换的代价高于等待资源的代价的时候(锁的已保持者保持锁时间比较短),那么线程B可以不放弃CPU时间片,而是在“原地”忙等,直到锁的持转载 2017-10-31 16:10:09 · 421 阅读 · 0 评论 -
java 自旋锁(可重入且无死锁)
java自旋锁 的实现原理:如果自旋锁被另外一个线程对象持有,那么当前获取锁的线程将陷入while循环等待,直到那个持有自旋锁的线程对象释放它所持有的自旋锁,那么那些想要获取该自旋锁的线程对象 将会有一个获得该自旋锁。 基于他这种原理,等待的时候,并不释放cpu时间片,相比synchronized wait()操作,减小了释放,重新获取的消耗。 该自旋锁适用于,当前线程竞争不强烈的时候使用转载 2017-10-31 16:13:02 · 561 阅读 · 0 评论