Мой вариант использования: процесс A -> запрос на паузу/возобновление (через 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
=> Эта идея — способ завершить все потоки и воссоздать все потоки.