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

Naming (general purpose) thread-safe data structures?

本文关键字:安全 数据结构 线程 通用 命名      更新时间:2023-10-16

我正在寻找一个好名字给线程安全/内部同步的数据结构。

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

我真正想要的是一个(值)类型的通用包装器,它提供与std::atomics类似的一组操作,但具有不同的名称,并从它派生出一些类型。(用例:类似std::atomic的std::string)

你认为下列哪个有用/没用,为什么?

  • SynchronizedThingamajig(或thingamajig_synchronizedsynchronized_thingamajig)
  • Concurrent...
  • ThreadSafe...
  • Safe...
  • Parallel...
  • Locked...
  • Mutex…或Mutexed...
  • Multithreaded...

对于我给出的字符串示例,也许synchronized_stringconcurrent_string会最有意义,或者会与任何其他内涵冲突吗?

来自评论的有用答案:

Microsoft PPL和Intel TBB都使用concurrent_*。我唯一的建议是:当你说并行时,不要使用并行。(平行是一种并发性,但这些数据结构应该工作吗在单个处理器上对多个线程进行时间复用。)你可能会还要查看监视器模式。

——流浪逻辑6月18日12:02

我可能会补充说,从我给出的选择中,经过更多的思考,只有concurrentsynchronized似乎是有意义的。

我觉得你应该试试这个名字:

SafeContainer