自旋锁

自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态.它适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短.

阅读全文>>

ReentrantLock使用

ReentrantLock能做到synchronized得功能,而且在JDK1.6以前性能比后者好很多。之后synchronized性能进行了改进,差距已经不是很大。

阅读全文>>

共享变量的并发安全性

线程通信模型大体可分为两种,共享变量和消息传递。虽然消息传递(Actor模型)是比较被推崇的,但是Java语言并不支持。所以在并发程序中我们必须要面对共享变量所带来的编程复杂度。

阅读全文>>