java-并发
文章平均质量分 87
mengyou0304
学习 学习
展开
-
ReentrantReadWriteLock
参考http://yhjhappy234.blog.163.com/blog/static/3163283220135178183769/ http://developer.51cto.com/art/201103/249288.htm简要介绍分析class CachedData { Object data; volatile boolean cacheValid;原创 2015-03-24 17:24:22 · 348 阅读 · 0 评论 -
Java中的锁ReentrantLock,condition 与synchronized,volatile
参考文献:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html锁存在的意义在于保证高并发情况下的正确性。越是粗粒度的锁越容易使用,但性能也越低。Volatile JDK很早就开始支持的锁,锁住的块仅允许一个线程进入。 Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步原创 2015-03-22 20:16:03 · 538 阅读 · 0 评论 -
ReentrantLock &&
先看看基本锁的实现吧,用的AQS,先看看人家的基本实现abstract static class Sync extends AbstractQueuedSynchronizer public void lock() { sync.lock(); }public boolean tryLock() { return sync.nonfairTryAcquire(1)原创 2015-04-07 10:46:00 · 317 阅读 · 0 评论 -
AbstractQueuedSynchronizer
看锁的实现发现实在看不明白,还是先来看看AQS吧,作者是Doug Lea大神参考文献http://ifeve.com/jdk1-8-abstractquehttp://www.infoq.com/cn/articles/jdk1.8-abstractqueuedsynchronizerhttp://www.infoq.com/cn/articles/java8-abstractqueuedsynch原创 2015-04-04 12:53:16 · 367 阅读 · 0 评论 -
Lmax.distruptor RingBuffer
Storm以及JStorm都用了distruptor作为线程间交互工具,所以仔细拿来看看吧。 Disruptor有一个bloghttp://code.google.com/p/disruptor/wiki/BlogsAndArticles和一些基本介绍 http://mechanitis.blogspot.com/2011/06/dissecting-disruptor-whats-so-spe原创 2015-04-24 18:17:55 · 1102 阅读 · 0 评论 -
Kafka 新版Producer Java版代码阅读
Kafka Producer 代码阅读Kafka在0.8.2.1出了新版Producer,支持ack(仅Java版,因为通过JavaClient实现的)。因此对代码进行了简单阅读,并记录如下:接口如下:public Future<RecordMetadata> send(ProducerRecord<K,V> record, Callback callback) 封装一个Record之后,每次调用原创 2015-08-24 20:34:36 · 3588 阅读 · 0 评论