Я ищу хорошее имя для создания структур данных, которые являются потокобезопасными/внутренне синхронизированными.Именование (общего назначения) потокобезопасных структур данных?
В стандарте C++ используется термин atomic
, но atomic has some rather special meaning. Microsoft использует термин Concurrent
в своих Thread-Safe Collections (или в C++ _concurrent
в Parallel Containers).
Я бы хотел, чтобы это была общая оболочка для типов (значений), которая предоставляет аналогичный набор операций для того, что std :: atomics делает, но с другим именем и некоторыми typedefs, полученными из него. (пример использования: что-то вроде std::atomic for std::string)
Какое из следующих вы считаете полезным/полезным и почему?
SynchronizedThingamajig
(илиthingamajig_synchronized
илиsynchronized_thingamajig
)Concurrent...
ThreadSafe...
Safe...
Parallel...
Locked...
Mutex
... илиMutexed...
Multithreaded...
Для примера строки я дал, возможно, synchronized_string
или concurrent_string
бы больше смысла, или бы, что столкновение с любым другим подтекстом?
Оба Microsoft PPL и Intel TBB используют 'concurrent_ *'. Мое единственное предложение: не использовать 'parallel', когда вы имеете в виду' concurrent'. (_Parallel_ - это один из видов параллелизма, но эти структуры данных должны работать даже на одном процессоре с временным мультиплексированием нескольких потоков.) Вы также можете посмотреть ['monitor'] (https://en.wikipedia.org/wiki/Monitor_ (синхронизация)). –