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

Mar*_* Ba 7 c++ multithreading naming naming-conventions thread-safety

我正在寻找一个好的名称来提供线程安全/内部同步的数据结构.

C++标准使用了这个术语atomic,但原子有一些相当特殊的含义.微软使用的术语是Concurrent在他们的线程安全集合(或C++ _concurrent中的并行容器).

我真正想要的是(值)类型的通用包装器,它提供与std :: atomics相似的操作集,但具有不同的名称,以及从中派生的一些typedef.(用例:类似std :: atomic for std :: string)

您认为以下哪项有用/无用?为什么?

  • SynchronizedThingamajig(thingamajig_synchronizedsynchronized_thingamajig)
  • Concurrent...
  • ThreadSafe...
  • Safe...
  • Parallel...
  • Locked...
  • Mutex ... 要么 Mutexed...
  • Multithreaded...

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

Mar*_* Ba 6

评论的有用答案:

Microsoft PPL和Intel TBB都使用concurrent_*.我唯一的建议是:当你的意思是并发时,不要使用parallel.(并行是一种并发,但这些数据结构甚至可以在单个处理器上复用多个线程.)您还可以查看监视器模式.

- Wandering Logic 6月18日12:02

对此我想补充一点,从我给的选择,思考一些关于它后,只concurrentsynchronized似乎是有道理的.