有人能推荐一本关于如何编写线程安全容器的好书吗?
谢谢
发布于 2011-07-14 18:13:51
是一个STL实现,它提供了线程安全,你可能想看看它。
发布于 2011-07-14 18:32:14
线程安全容器是没有银弹!
例如,无论您使用什么容器,此代码都不是线程安全的:
if (!container.has(value)) container.add(value);也不是:
container[value] = container[value] + 42;代码可以是线程安全的,但它需要的不仅仅是线程安全容器。
更糟糕的是:线程安全容器不会给你带来太多好处。它们可能对你在教科书中找到的简单案例有帮助,但在实际存在的复杂案例中,无论如何你都需要一个锁(参见上面的典型案例)。在这种情况下使用线程安全容器将是纯粹的开销。
看一看Java,因为它是从线程安全容器开始的。几年后,Java转向了线程不安全的容器,并弃用了旧的线程安全的容器。
所以我的建议是:不要寻找线程安全的容器。相反,会寻找一本好书《如何编写线程安全代码》。
更新澄清:我说的是标准容器,比如矢量、地图和字符串。
发布于 2011-07-14 18:03:47
1024cores.net上充斥着关于编写线程安全代码的好文章。
https://stackoverflow.com/questions/6691399
复制相似问题