如何给通用线程安全的数据结构命名?

7
我正在寻找一个好的名称,用于指代线程安全/内部同步的数据结构。
C++标准使用术语“atomic”,但atomic有一些特殊的含义。Microsoft在其Thread-Safe Collections中使用术语“Concurrent”(或在C++中使用_concurrentParallel Containers中)。
我真正想要的是一个通用的包装器,用于提供类似于std::atomic的一组操作,但具有不同的名称和一些派生自它的typedefs。(用例:像std::atomic for std::string这样的东西)
以下哪个您认为有用/无用,为什么?
  • SynchronizedThingamajig(或thingamajig_synchronizedsynchronized_thingamajig
  • Concurrent...(并发的...)
  • ThreadSafe...(线程安全的...)
  • Safe...(安全的...)
  • Parallel...(并行的...)
  • Locked...(锁定的...)
  • Mutex ... or Mutexed...(互斥的...)
  • Multithreaded...(多线程的...)

对于我给出的字符串示例,也许一个synchronized_stringconcurrent_string会更有意义,但这是否会与其他内涵冲突呢?


2
微软PPL和英特尔TBB都使用concurrent_*。我的建议是:当你想要表达并发时,不要使用parallel。(Parallel是一种并发方式,但这些数据结构应该可以在单个处理器上通过时间分片多个线程工作。) 你也可以看看monitor - Wandering Logic
2个回答

7

评论区提供了有用的答案:

微软PPL和英特尔TBB都使用concurrent_*。我的建议是:当您指的是并发时,请不要使用parallel(并行)。 (并行是一种并发,但这些数据结构应该可以在单个处理器上运行,将多个线程的时间复用。)您还可以查看监视器模式。

-- Wandering Logic Jun 18 at 12:02

我想补充一点的是,在我所提供的选择中,经过进一步思考,只有concurrentsynchronized才是有意义的。


0

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

安全容器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接