I wonder if there's any difference between waiting on a locked mutex and waiting on a locked semaphore, in terms of CPU-usage. According to the man pages, at both scenarios the thread blocks, meaning it is transferred to a waiting queue, thus not consuming CPU-time.
On the contrary, I did see a few places and answers that claim that waiting on a mutex causes busy-waiting, which means consuming CPU-time to no avail.
I'd appreciate if you could explain whether there's a difference or not.
Edit: My question was identified as a possible duplicate of this question, however, like I noted, I see opposite answers in some other places in this forum, that claim that waiting on a mutex is a busy-waiting.