Шрифт:
В многопоточной среде существует вероятность того, что другой поток изменит содержимое
Ни одно из описанных выше решений с блокировкой не решает этих проблем. Вызовы
Чтобы этот фрагмент был потоково-безопасным, блокировка
1
В среде программистов данный термин (англ. mutex) встречается также в варианте «мутекс». — Примеч. ред.
Понятно, почему в решении проблем многопоточности не стоит полагаться на реализацию STL. Вместо этого в подобных случаях следует самостоятельно синхронизировать доступ. В приведенном примере это может выглядеть так:
В другом, объектно-ориентированном, решении создается класс
Концепция управления жизненным циклом ресурсов (в данном случае — мьютексов) при помощи специализированных классов вроде
Поскольку мьютекс контейнера освобождается в деструкторе