Сдача процесса в Linux - PullRequest
1 голос
/ 18 июля 2011

Я хочу дать многопоточный процесс в Linux.Я знаю, что поток может быть получен путем вызова sched_yield.Я думаю, с другой стороны, весь процесс можно получить, вызвав sleep(0), поскольку sleep работает на уровне процесса.Я прав?

Ответы [ 2 ]

5 голосов
/ 18 июля 2011

sched_yield выдаст поток, который в данный момент работает, оставляя оставшуюся часть своего временного интервала.Затем процессор переключается в следующий поток.Является ли этот поток другим, который принадлежит вашему процессу, неизвестно.Это может быть, а может и не быть.

Чтобы получить весь процесс, вам потребуется каждый поток, существующий в этом процессе.сон работает аналогично.Он будет спать для этого конкретного потока, а не для всего процесса.

3 голосов
/ 18 июля 2011

Неверно.

sleep (3)

sleep () делает вызывающий поток sleep до истечения секунд секунд илиприходит сигнал, который не игнорируется.

РЕДАКТИРОВАТЬ

Из комментариев я вижу, что люди используют устаревший сайт для страниц справочника.Прекратите использовать этот сайт, используйте страницы kernel.org, которые должны быть обновлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...