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