命名(通用)线程安全数据结构?

时间:2013-06-18 10:13:41

标签: c++ multithreading thread-safety naming-conventions naming

我正在寻找一个好的名字,以便为线程安全/内部同步的数据结构提供支持。

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_synchronizedsynchronized_thingamajig
  • Concurrent...
  • ThreadSafe...
  • Safe...
  • Parallel...
  • Locked...
  • Mutex ...或Mutexed...
  • Multithreaded...

对于我给出的字符串示例,可能synchronized_stringconcurrent_string最有意义,还是会与其他内容发生冲突?

2 个答案:

答案 0 :(得分:5)

评论中的有用答案:

  

Microsoft PPL和Intel TBB都使用concurrent_*。我唯一的   建议是:当你的意思是并发时,不要使用parallel。 (平行   是一种并发,但这些数据结构应该工作   在单个处理器上时分复用多个线程。)你可能会   另请查看monitor模式。

- 漫游逻辑6月18日12:02

我可以从我给出的选择中添加一些内容,在考虑了更多相关内容之后,只有concurrentsynchronized才有意义。

答案 1 :(得分:0)

我认为你应该尝试这个名字:

SafeContainer