У меня мало вопросов о функции 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 выводится только потоки, запущенные на одном и том же ядре/процессоре.