У меня мало вопросов о функции sched_yield
, потому что я вижу, что он не работает в моем коде. Много раз я вижу, что тот же поток запускается снова и снова, даже при наличии других потоков, когда я пытаюсь уступить его, вызывая sched_yield
.
Также, если у меня есть multicores, будет sched_yield
выход для потоков, запущенных на всех ядрах, или только одно ядро. Например, у меня есть потоки 1, 2 и 3, работающие на ядре 1 и Threads 4, 5 и 6 на ядре 2, и если sched_yield
вызывается из Thread 2, он будет заменен только Thread 1 и 3 или 1, 3, 4, 5 и 6 возможны? Я спрашиваю об этом, потому что в .Net Thread.Yield
выводится только потоки, запущенные на одном и том же ядре/процессоре.