LINUX.ORG.RU

История изменений

Исправление WitcherGeralt, (текущая версия) :

А это не преподователь ли тебе объяснять должен?

Короче, на пальцах.

Есть у тебя какая-то задача, которую нужно выполнять в цикле, будь то ассепт соединения, какая-то периодическая таска, бесконечная обработка данных чанками, не важно. Она выполняется в отдельном потоке. По какой-то причине, например, отправили SIGTERM, тебе нужно её аккуратно завершить, ничего не потеряв. Как ты это сделаешь? Ты просто заведёшь флажок и будешь при каждой итерации его проверять. Так вот, тут этот флажок уже сделали за тебя. А ещё сделали деструктор с опусканием этого флажка и автоджойном, чтобы треды всегда завершались аккуратно. А так, это просто небольшая обёртка над std::thread, вообще ничего интересного, если я правильно понял. Но я так, краем уха слышал, могу ошибаться.

Исходная версия WitcherGeralt, :

А это не преподователь ли тебе объяснять должен?

Короче, на пальцах.

Есть у тебя какая-то задача, которую нужно выполнять в цикле, будь то ассепт соединения, какая-то периодическая таска, бесконечная обработка данных чанками, не важно. Она выполняется в отдельном потоке. По какой-то причине, например, отправили SIGTERM, тебе нужно её аккуратно завершить, ничего не потеряв. Как ты это сделаешь? Ты просто заведёшь флажок и будешь при каждой итерации его проверять. Так вот, тут этот флажок уже сделали за тебя. А ещё сделали деструктор с автоджойном, чтобы треды всегда завершались аккуратно. А так, это просто небольшая обёртка над std::thread, вообще ничего интересного, если я правильно понял. Но я так, краем уха слышал, могу ошибаться.