Тупик std::lock_guard при обработке исключений ⇐ C++
-
Anonymous
Тупик std::lock_guard при обработке исключений
Я прочитал в документе, что std::lock_guard может создать проблему при взаимоблокировке. Я хочу знать, как лучше всего справиться с этой ситуацией?
При использовании std::lock_guard в нескольких местах для обработки исключения произойдет взаимоблокировка
Также было бы неплохо поделиться другими примерами взаимоблокировок, чтобы избежать взаимоблокировок в будущем.
Мой код
#include // // #include #include #include #include #include #include #include std::mutex global_stream_lock; void worker_thread(std::shared_ptr iosvc, int i){ { std::lock_guard l {global_stream_lock}; std::cout
Я прочитал в документе, что std::lock_guard может создать проблему при взаимоблокировке. Я хочу знать, как лучше всего справиться с этой ситуацией?
При использовании std::lock_guard в нескольких местах для обработки исключения произойдет взаимоблокировка
Также было бы неплохо поделиться другими примерами взаимоблокировок, чтобы избежать взаимоблокировок в будущем.
Мой код
#include // // #include #include #include #include #include #include #include std::mutex global_stream_lock; void worker_thread(std::shared_ptr iosvc, int i){ { std::lock_guard l {global_stream_lock}; std::cout
Мобильная версия