Comments 8
Рекомендую изучить www.boost.org/doc/libs/1_53_0/doc/html/thread.html, много информации почерпнуто оттуда
+2
Мне кажется нет смысла использовать g_notified, вместо него используйте g_codes.empty()
0
g_codes.empty() используется для обработки очереди, если в ней есть ошибки, а g_notified — от ложных пробуждений и, по большому счету сделан для того, чтобы наглядно показать что дает вторая перегрузка wait()
0
При ложном пробуждении g_codes так же будет пустой. А так же у вас не сможет произойти ложное пробуждение между g_codes.push(errorcode) и g_notified = true (если там вдруг сложная логика есть) так как они происходят под мютексом, а при пробуждении wait происходит захват мютекса.
Поправьте меня если я не прав.
Поправьте меня если я не прав.
0
del
+1
Чтоб вы все сдохли', ублюдки конченые со своими военными шпионскими игрищами и военными шифрами с построением последовательностей из логически связанных между собой событий. чтоб в вас всех поиграли так, как вы в меня
-10
У вас гонка по g_done.
0
Sign up to leave a comment.
Потоки, блокировки и условные переменные в C++11 [Часть 2]