<分区>
有人可以推荐一本关于如何编写线程安全容器的好书吗?
谢谢
<分区>
有人可以推荐一本关于如何编写线程安全容器的好书吗?
谢谢
最佳答案
线程安全容器没有 Elixir !
例如此代码不是线程安全的,无论您使用什么容器:
if (!container.has(value)) container.add(value);
也不是:
container[value] = container[value] + 42;
代码可以是线程安全的,但它需要的不仅仅是线程安全的容器。
更糟糕的是:线程安全容器不会给你带来太多好处。它们可能有助于您在教科书中找到的简单案例,但在实践中存在的更复杂的案例中,无论如何您都需要一把锁(典型案例见上文)。在这种情况下使用线程安全容器将纯粹是开销。
看看 Java,它是从线程安全容器开始的。几年后,Java 切换到线程不安全容器并弃用了旧的线程安全容器。
所以我的建议是:不要寻找线程安全的容器。相反,寻找一本如何编写线程安全代码的好书。
更新澄清:我说的是标准容器,如 vector 、 map 和字符串。
关于c++ - 编写线程安全的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691399/