Я хочу уничтожить все текущие потоки процесса, когда он получает сообщение об остановке. Но я хочу, чтобы процесс продолжал работать и принимать новые запросы. Я использовал c ++ std :: thread и не pthreads
Вкратце: вы не можете уничтожать потоки в ISO c ++. Вы можете только, например, повторно опрашивать флаг внутри потока и останавливать дальнейшую обработку.
Поскольку std :: threads обычно реализуются поверх pthreads в Linux, вы можете использовать этот API, например, посмотри на pthread_cancel. Имейте в виду, однако, что это не вызовет деструкторов c ++, поэтому вы должны быть очень осторожны, когда делаете это, чтобы избежать утечек ресурсов.
Других решений пока нет …