pthread.h - Является ли добровольный процессор единственным триггером для планирования другого потока пользовательского уровня? - PullRequest
0 голосов
/ 09 сентября 2018

Является ли добровольный выход процессора единственным способом, которым потоки в библиотеке Linux pthread могут позволить планировать другой поток под тем же процессом? (Поскольку pthread является реализацией потока на уровне пользователя?)

Кажется, что pthread_yield () и мьютексы (предоставляемые библиотекой pthread) - единственный способ вызвать планировщик для запуска выполнения другого потока. Это правда?

1 Ответ

0 голосов
/ 09 сентября 2018

Нет, любой вызов, который также блокирует текущий поток, запланирует другой шаг. Это включает в себя библиотечные вызовы, такие как sleep (), read (), select (), pthread_mutex_lock () и многие другие.

Обратите внимание, что pthread не является чистой реализацией потока пользовательского уровня в linux, он отображает 1 поток пользовательского режима в 1 задачу ядра.

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