NoS*_*tAl 12 queue boost lock-free concurrent-programming
从我在锁定免费编程上收集到的内容来看,这是非常难以做到的......我同意.只是想一些问题会让我头疼.但我想知道的是,为什么没有广泛使用高级包装器(例如无锁队列和类似的东西)?例如,boost没有锁定免费库,但据我所知,有人建议使用.我的意思是我猜有很多应用程序,你不能避免关键部分是负载的重要部分.那么原因是什么?是吗...
所以我的问题是:为什么使用无锁编程的高级抽象不是很受欢迎,而同时"常规"多线程编程是"在"?
编辑:boost有一个无锁lib :)
小智 13
很少有人熟悉该领域以实现易于使用的无锁库.在少数几个中,免费的发布工作更少,而且几乎没有任何人发布使图书馆可用的重要额外工作- 例如发布完整的API文档等.他们倾向于只发布带有代码的zip文件,这几乎是无用的.当然,你还需要找到一个用你想要使用的语言编写的库,在你正在使用的平台上编译,最后,图书馆的文字必须出来,所以人们都知道它存在.
专利是一个问题,因为它们限制了可以提供的东西.例如,据我所知,没有非专利的单链表.所有跳过列表的东西也都获得了大量专利.
这个领域的英雄是Cliff Click,他提出了一个无锁的哈希,他或多或少地在公共领域.
你可以在这里找到我的无锁图书馆;
另一个是Samy Bahra的Concurrency Kit;