代码改变世界

随笔档案-2015年10月

自旋锁、排队自旋锁、MCS锁、CLH锁

2015-10-26 13:11 by Loull, 532 阅读, 收藏, 编辑
摘要: 自旋锁(Spin lock)自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。自旋锁适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短。简单的实现import java.util.concurrent.atomi... 阅读全文

SpinLock 实现

2015-10-26 11:50 by Loull, 445 阅读, 收藏, 编辑
摘要: /* Example: SpinLock Description: SpinLock is the lock implementation using AtomicInteger as a primitive synchronizer. The contracts is based on the... 阅读全文

悲观锁和乐观锁

2015-10-26 11:14 by Loull, 237 阅读, 收藏, 编辑
摘要: 1、悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无... 阅读全文

支持正则或通配符的hashmap

2015-10-19 14:30 by Loull, 3086 阅读, 收藏, 编辑
摘要: RegexpKeyedMaphttp://wiki.apache.org/jakarta/RegexpKeyedMapRegexHashMaphttps://heideltime.googlecode.com/hg-history/a354341d349e75262884706b830f237fd9... 阅读全文

epoll 或者 kqueue 的原理是什么?

2015-10-16 17:54 by Loull, 444 阅读, 收藏, 编辑
摘要: 来自知乎:http://www.zhihu.com/question/20122137epoll 或者 kqueue 的原理是什么?为什么epoll和kqueue可以用基于事件的方式,单线程的实现并发?我没看过linux内核,对这方面一直有疑问……可能我没有说太明白,我知道您说的这些,我是想了解底层... 阅读全文
点击右上角即可分享
微信分享提示