Использование SIGCONT с установленными флагами CLONE () и CLONE_STOPPED для Linux - PullRequest
1 голос
/ 02 февраля 2011

Я пытаюсь реализовать функцию создания / запуска потока, используя clone (). Я планирую использовать флаг CLONE_STOPPED для создания дочернего потока, но дождаться начала выполнения, пока я не отправлю SIGCONT в созданный дочерний поток.у меня есть, что будет состояние родительского потока, когда он отправляет SIGCONT дочернему элементу, и дочерний процесс возобновляет выполнение. Будет ли родительский поток приостановлен?или продолжить работу?. Как мы можем настроить это.?

Спасибо заранее!

1 Ответ

2 голосов
/ 02 февраля 2011

Родитель будет продолжать работать.Будет ли он работать одновременно с дочерним или чередованным, зависит от того, сколько у вас процессорных ядер и как планировщик решит их запустить;вы должны предполагать, что он работает одновременно.

Флаг CLONE_STOPPED устарел в течение многих лет и был фактически удален во время последнего окна слияния ядра.Вам не следует его использовать - используйте вместо этого примитивы синхронизации потоков (возможно, построенные на futex()).

...