Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сымитировать табуляцию при выводе текста http://www.cyberforum.ru/cpp-beginners/thread1309429.html
Кто может написать код к этому условию: При выводе текстов на экран или печатающее устройство часто используются табуляционные остановки - выделенные позиции строки. Например, при печати таблиц полезно зафиксировать положение столбцов таблиц. Если в исходном тексте встречается символ табуляции tab (например, символ с кодом 9), это означает, что текст, следующий за символом tab, должен печататься...
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++ Калькулятор для курсовой Как тему курсовой работы взял написание калькулятора. Не могу понять, как реализовать ввод с клавиатуры всего выражения в одну строку так, чтоб его потом распознать. Суть вопроса: как разобрать строку типа "2+(4*7^2)" на действия и выполнить их в нужном порядке? Добавлено через 16 минут Вот нашел решение, может кому понадобится) :yahoo::smoke: P.S. ШАГовцам привет) #define... подробнее

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

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

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

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