неблокирование ориентированной на многопотоковое исполнение очереди в C++?

Причина состоит в том, что константа для параметра только применяется локально в функции, так как это работает над копией данных. Это означает, что функциональная подпись является действительно тем же так или иначе. Это - вероятно, плохой стиль, чтобы сделать это много все же.

я лично склонен не использовать константу за исключением параметров указателя и ссылки. Для скопированных объектов это действительно не имеет значения, хотя это может быть более безопасно, поскольку это сигнализирует о намерении в функции. Это - действительно личный выбор. Я действительно склонен использовать const_iterator, хотя, когда цикличное выполнение на чем-то и я не предназначаю при изменении его, таким образом, я предполагаю каждому его собственное, пока правильность константы для ссылочных типов строго сохраняется.

25
задан jldupont 30 October 2009 в 14:12
поделиться

6 ответов

Поскольку текущий стандарт C ++ даже не признает существование потоков, в STL или любой другой части стандартной библиотеки, безусловно, нет ничего поточно-безопасного.

6
ответ дан 28 November 2019 в 21:32
поделиться

Краткий ответ - нет. STL не занимается параллелизмом (по крайней мере, на уровне спецификации). Текущий стандарт C ++ ничего не говорит о потоках.

Вы можете легко построить такую ​​очередь поверх STL и Boost - просто оберните std :: queue и boost :: mutex в вашем пользовательском классе.

1
ответ дан 28 November 2019 в 21:32
поделиться

Вам нужно реализовать это самостоятельно или использовать библиотеку, реализующую это. Чтобы сделать это самостоятельно, вы можете взглянуть на это:

Реализация потокобезопасной очереди с использованием переменных условий

2
ответ дан 28 November 2019 в 21:32
поделиться

Контейнеры STL не являются потокобезопасными, вам следует реализовать свою обработку для одновременного доступа.
Существует этот проект (C ++), который нацелен на обслуживание одновременного доступа: CPH STL
и статья о .

1
ответ дан 28 November 2019 в 21:32
поделиться

Кажется, это была популярная тема в прошлом году доктора Добба:

6
ответ дан 28 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: