【发布时间】:2011-06-05 18:51:18
【问题描述】:
我需要几个 STL 容器,线程安全。
基本上我在想我只需要向每个 STL 容器对象添加 2 个方法,
.lock()
.unlock()
我也可以分解成
.lockForReading()
.unlockForReading()
.lockForWriting()
.unlockForWriting()
可行的方式是任意数量的并行读取锁都是可以接受的,但如果有一个写入锁,则读取和写入将被阻止。
锁定写入的尝试会等待,直到 lockForReading 信号量降至 0。
有标准的方法吗?
我打算这样做是错误的还是短视的?
【问题讨论】:
标签: c++ multithreading stl thread-safety