
多线程
文章平均质量分 92
jackson陈
这个作者很懒,什么都没留下…
展开
-
java多线程interrupt,isInterrupted,interrupted实例演示
public void Thread.interrupt(); //中断线程,设置中断标志位public void Thread.isInterrupted(); //判断是否被中断public void Thread.interrupted(); //判断是否被中断,并清除当前中断状态最近在研究多线程,开始并不是太清楚三者的区别,尤其后两者,仔细想了个小例子,例子如下...原创 2018-02-11 14:25:11 · 250 阅读 · 0 评论 -
ReentrantReadWriteLock 可重入读写锁代码分析与简单实例
个人水平有限,如有错误,请各位看官指出。前面提到的ReentrantLock是排它锁,这种锁在同一时刻下只允许一个线程进行访问,无论是公平模式还是非公平模式,性能都不是很高。ReentrantReadWriteLock是读写锁,同一时刻允许多个线程读,但是在写线程访问时,其后的读线程或写线程都会阻塞。读写锁实现了读锁与写锁分离,使得并发性能比一般的排它锁有了很大的提升(尤其是读操作比较多的情况...原创 2018-03-07 15:04:32 · 288 阅读 · 0 评论 -
java 线程之synchronized,volatile,原子类,Lock锁相关
开撸啦!!!!!提起多线程那必然要提起线程安全、同步策略等一系列问题,咱们就从同步入手看看线程这些个玩意首先不得不提老祖宗synchronized,如果不考虑性能问题,这真是万能的,方法有线程安全问题?加上,代码有线程安全问题?加上,尼玛你还哪里不能加。不过虽然好用但是代价也得挺大的,被称为重量级锁,各种互斥,一个线程进来其他线程等着,不服也等着。虽然后来进行了优化,加入什么自旋锁,偏向锁,轻量级...原创 2018-02-28 10:18:38 · 279 阅读 · 0 评论 -
AbstractQueuedSynchronizer1:独占模式
本文转自:http://www.cnblogs.com/xrq730/p/7056614.html关于AbstractQueuedSynchronizerJDK1.5之后引入了并发包java.util.concurrent,大大提高了Java程序的并发性能。关于java.util.concurrent包我总结如下:AbstractQueuedSynchronizer是并发类诸如ReentrantL...转载 2018-03-01 15:25:36 · 177 阅读 · 0 评论 -
AbstractQueuedSynchronizer 的共享模式代码分析
前面转载的一篇独占模式写的很详细,接下来我们看下共享模式是如何运作的。共享模式acquire实现流程下面是核心代码,只有当tryAcquireShared方法的返回值大于等于0时才获取到同步状态public final void acquireShared(int arg) { if (tryAcquireShared(arg) < 0) doAcqu...原创 2018-03-02 11:45:22 · 234 阅读 · 0 评论 -
ReentrantLock的公平锁与非公平锁浅析
ReentrantLock可重入锁,并且实现了公平锁,采用AQS的独占模式。一开始我以为ReentrantLock的非公平锁是这样的,当一个线程在释放锁事,会唤醒列队同步器中随便一个线程,让其获取锁。实际不是这样的,线程一旦以node的形式加入列队中就是按先进先出的方式进行唤醒,调用的。这里的公平与非公平指的是在前个线程释放锁的时候正好有个线程又要获取锁(还没加入到列队),这时候后来的线程是可以插...原创 2018-03-05 10:45:40 · 1011 阅读 · 0 评论