Java并发编程
文章平均质量分 94
百恼Z
这个作者很懒,什么都没留下…
展开
-
LockSupport源码分析
在学习CountDownLatch的时候非常关心它是如何阻塞线程和唤醒线程的。最后就追踪到了LockSupport。这个类有着wait(),notify()类似的功能,不过更精准。 LockSupport.park(Thread thread),//阻塞thread LockSupport.unpark(Thread thread) //唤醒thread原创 2012-10-28 21:28:28 · 5347 阅读 · 3 评论 -
深入探析Java线程锁机制
今天在iteye上提了一个关于++操作和线程安全的问题,一位朋友的回答一言点醒梦中人,至此我对Java线程锁有了更加深刻的认识。在这里也做个总结供大家参考。 先看几段代码吧! 代码一:public class TestMultiThread2 implements Runnable{ private static Object o = new Object();原创 2012-12-17 15:23:18 · 9767 阅读 · 10 评论 -
生产者消费者模型(二)-引入ArrayBlockingQueue
在《生产者消费者模型你知道多少》中简单的模拟了一个生产者消费者模型。有些网友对我的实现提出了很多质疑。我在文章的结尾也对抛出了一个问题。在代码中也充斥了大量的锁,可能有些锁是不需要的。在今天我将引入ArrayBlockingQueue重写这个模型,这在实际开发中可能更有意义,另外也对于java.util.concurrent这个包有一个认识。这个包在并发编程。这个包在并发编程实践里面有非常重要的作用。原创 2013-11-18 08:00:37 · 22471 阅读 · 9 评论 -
Java多线程并发锁和原子操作,你真的了解吗?
对于Java多线程,接触最多的莫过于使用synchronized,这个简单易懂,可谓一招吃遍天下,可能在一些特殊场景下确需要用一些其他的同步进行。今天我就简单介绍一下几种锁,其实像类似的博客和文章和很多,所以也不会多赘述,我更想抛出在实际应用中所碰到的问题。好,废话少说。原创 2012-07-28 11:47:15 · 34230 阅读 · 16 评论 -
生产者消费者模型你知道多少
进入正题之前先说点故事。从最开始学java的那里开始:我是从08年下半年开始学Java,在《我的六年程序之路》中提到了一些。当时比较简单,每天看尚学堂的视频(对于初学者而言看视频好一些。),然后写代码。比较清楚的记得马士兵讲到生产者消费者模型的时候还大谈特谈要是掌握了这个工资可以+1000(现在回忆起有点像历史一样,多少有些伤感)。原创 2013-11-12 08:07:10 · 41113 阅读 · 41 评论 -
最佳实践:AtomicInteger实现边界值控制
《最佳实践:AtomicInteger实现边界值控制》这篇文章主要讲两部分,一部分简单的讲了一下AtomicInteger和LongAdder的实现对比,这部分不会讲太细,因为有更好的文章已经讲过了,而且像一些实现细节可能自己看代码会更好一些。另外一部分就讲讲AtomicInteger实现边界值控制,也就是本篇的标题,其实说这个的时候我估计很多人不知道具体讲啥,等我细细讲来的时候估计就会明白。原创 2015-10-10 09:31:09 · 9029 阅读 · 1 评论