我正在寻找一个好的名字,以便为线程安全/内部同步的数据结构提供支持。
C ++标准使用术语atomic
,但atomic has some rather special meaning。 Microsoft在Thread-Safe Collections(或Parallel Containers中的C ++ Concurrent
)中使用术语_concurrent
。
我真正想要的是(值)类型的通用包装器,它提供与std :: atomics类似的操作集,但具有不同的名称,以及从中派生的一些typedef。 (用例:类似std::atomic for std::string)
您认为以下哪项有用/无用?为什么?
SynchronizedThingamajig
(或thingamajig_synchronized
或synchronized_thingamajig
)Concurrent...
ThreadSafe...
Safe...
Parallel...
Locked...
Mutex
...或Mutexed...
Multithreaded...
对于我给出的字符串示例,可能synchronized_string
或concurrent_string
最有意义,还是会与其他内容发生冲突?
答案 0 :(得分:5)
评论中的有用答案:
Microsoft PPL和Intel TBB都使用
concurrent_*
。我唯一的 建议是:当你的意思是并发时,不要使用parallel。 (平行 是一种并发,但这些数据结构应该工作 在单个处理器上时分复用多个线程。)你可能会 另请查看monitor模式。
- 漫游逻辑6月18日12:02
我可以从我给出的选择中添加一些内容,在考虑了更多相关内容之后,只有concurrent
和synchronized
才有意义。
答案 1 :(得分:0)
我认为你应该尝试这个名字:
SafeContainer