【发布时间】:2011-08-18 05:42:48
【问题描述】:
我们可以使用 boost 指针容器库来保存一个字符串数组以防止线程安全推送和弹出以及所有此类操作吗?
【问题讨论】:
标签: c++ multithreading boost thread-safety
我们可以使用 boost 指针容器库来保存一个字符串数组以防止线程安全推送和弹出以及所有此类操作吗?
【问题讨论】:
标签: c++ multithreading boost thread-safety
不,就线程安全而言,相同的规则适用于指针容器库和标准 C++ 库容器。它们对于来自不同线程的同时读取访问都是安全的,但必须由互斥锁保护以防止同时写入访问。
这是因为指针容器库中的容器只是简单地使用相应标准容器的底层container_type<void*> 来存储对象。例如,boost::ptr_vector 使用 std::vector<void*>。
【讨论】:
答案是不。现在我必须在两个字符足够的情况下将答案写成最后 30 个字符。
【讨论】: