阅读背景:

世界上最简单的无锁哈希表

来源:互联网 

无锁哈希表(Lock-Free Hash Table )可以提高多线程下的性能表现,但是因为实现一个无锁哈希表本身的复杂度不小。(ps:真正的复杂在于出错之后的调试,因为多线程下的调试本身就很复杂,引入无锁数据结构之后,传统的看堆栈信息和打印log都基本上没有意义了。堆栈中的数据可能被并发访问破坏,而打印log本身可能会改变程序执行时对数据访问的时序。一个比较可行的做法是实现一个无锁版本和一个传统数据结构+锁的版本,出错后通过替换来定位是无锁数据结构本身的bug还是其他逻辑的 bug)。所以对一个项目而言,无锁数据结构基本上是一把双刃剑。无锁哈希表(Lock-Free Hash Table )可以提高多线程下的性能表现,但是因为实




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: