«Системный вызов wait () приостанавливает выполнение текущего процесса до тех пор, пока один из его дочерних элементов не завершится». Waitpid также похож.
Мой вопрос: вызовет ли wait () из одного потока все остальные потоки (в том же процессе) и перейдет в спящий режим? Поведение также одинаково для отдельных потоков?
Это просто ошибка в руководстве.wait приостанавливает вызывающий поток, а не процесс.Нет абсолютно никакого способа приостановить весь процесс, за исключением отправки его SIGSTOP или ручной приостановки каждого потока по одному.
wait
SIGSTOP
Должен только остановить текущий поток. Если вы хотите, чтобы люди болели, когда они смотрели на ваш код, и причиняли себе много проблем, вы можете использовать это для синхронизации фальшивых потоков присяжных. Я не рекомендовал бы это все же.
Насколько я знаю, вызов wait из любого потока приведет к остановке всех потоков, связанных с этим процессом.
Но не удерживайте меня от этого.Лучше всего проверить это.