可以将Pointer Container Library用作线程安全容器集合吗?

时间:2011-08-18 05:42:49

标签: c++ multithreading boost thread-safety

我们可以使用boost Pointer Container Library来保存一个带有线程安全的push和pop以及所有这些操作的字符串数组吗?

2 个答案:

答案 0 :(得分:4)

不,就线程安全而言,相同的规则适用于指针容器库和标准C ++库容器。它们对于来自不同线程的同时读取访问是安全的,但必须受互斥锁保护以防止同时写入访问。

这是因为指针容器库中的容器只是使用相应标准容器的底层container_type<void*>来存储对象。例如,boost::ptr_vector使用std::vector<void*>

答案 1 :(得分:2)

答案不是。现在,当两个人满足时,我必须回答最后30个字符。