Мой вариант использования: процесс -> пауза / возобновление запроса (через IPC) -> процесс B
Моя цель - сохранить использование ЦП процесса B, когда процесс B является фоновым.Потому что все потоки процесса B потребляют ресурсы процессора.Так что я хочу приостановить / перезапустить все потоки процесса B, когда захочу.
Q1) как я могу приостановить / возобновить все потоки в процессе B?
Следующее - только моя первая идея, Но я не уверен, что это хороший способ разрешить эту ситуацию.
Если вы знаете хорошее решение для этого, пожалуйста, дайте мне знать ваш совет.
<main thread of B process>
while(1)
{
mCondition.wait(lock);
//all thread are create & run in here
}
<handler thread of B process>
if(request resume)
mCondition.notify_one();
else
//terminate all thread of B process
=> ЭтоИдея - это способ завершить все потоки и воссоздать все потоки.