【发布时间】:2009-08-13 14:03:59
【问题描述】:
我在一个 stl 向量上有几个作者(线程)和一个阅读器。
正常的写入和读取受互斥体保护,但我想避免在我拥有的循环上发生争用,我想知道 vector::size 是否足够安全,我想这取决于实现,但由于通常矢量动态内存对于存储的项目,存储大小的内存在重新分配期间不应失效。
我不介意误报,在 size > 0 之后,我实际上会锁定并再次检查,因此如果在另一个线程写入时读取 size() 不会出现段错误,它对我来说应该足够安全。
【问题讨论】:
标签: c++ multithreading stl