Форум программистов, компьютерный форум, киберфорум
Наши страницы

Std::thread как усыпить/ пробудить поток? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сымитировать табуляцию при выводе текста http://www.cyberforum.ru/cpp-beginners/thread1309429.html
Кто может написать код к этому условию: При выводе текстов на экран или печатающее устройство часто используются табуляционные остановки - выделенные позиции строки. Например, при печати таблиц...
C++ Определить порядковый номер сопротивления В результате Измерений получены напряжения в Вольтах на зажимах каждого из 20 ти различных электрических сопротивлений, не соединенных друг с другом. Характеристика в омах каждого сопротивления... http://www.cyberforum.ru/cpp-beginners/thread1309424.html
Использование условного оператора. Определить, какая цифра встречается в заданном числе чаще: 0 или 9 C++
Дано натуральное число. Определить какая цифра встречается чаще: 0 или 9
C++ Черно-белое изображение в одномерный массив
Подскажите как преобразовать изображение 256х256х8. В одномерный массив?
C++ Как нарисовать график в Excel через Visual Studio? http://www.cyberforum.ru/cpp-beginners/thread1309416.html
Здравствуйте! Помогите, пожалуйста, закончить задачу! Есть множество точек с координатами x и y. Как мне передать их в Excel и нарисовать по ним график? Спасибо большое!
C++ Калькулятор для курсовой Как тему курсовой работы взял написание калькулятора. Не могу понять, как реализовать ввод с клавиатуры всего выражения в одну строку так, чтоб его потом распознать. Суть вопроса: как разобрать... подробнее

Показать сообщение отдельно
-THE_MASTER666-
Заблокирован

Std::thread как усыпить/ пробудить поток? - C++

24.11.2014, 16:00. Просмотров 1458. Ответов 3
Метки (Все метки)

Есть ли в std::thread возможность как - то приостановить поток, не разрушая его, а потом, по какому - то сигналу / прерыванию - возобновить его работу?
Цель: в каждом потоке должен быть какой - то непрерывный цикл проверки входящего буфера на наличие сообщений для потока, если сообщения есть - что - то делаю, нет - ничего не делаю (дальше кручу цикл).
Так вот, если в каждом потоке делать while, то загрузка ЦП будет соответственно 100% (ну при наличие многих потоков). Хотелось бы как - то обойти этой вечный цикл ( по сути евент луп, проверяющий мессаги для потока).
Вот я и подумал, может как - то можно усыплять и пробуждать стандартные потоки, ну вот в WinAPI есть же всякие ResumeThread, но вроде это не очень хорошая практика.
Тут собственно есть пара нюансов:
1. Возможно ли это и если да, то как?
2. Много ли времени это жрёт и не проще ли просто удалять и создавать потоки?
3. Может есть какой - то другой фокус, чтоб для каждого потока проверять сообщения но не грузить его на всю катушку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru