Нет, или в самой определенной реализации.
Как правило, неоспоримым мьютексным операциям вообще не нужно входить в ядро, они просто атомарные c операции в области памяти. Когда обнаружен конфликт, например, один поток хочет заблокировать мьютекс, которым владеет другой поток, желающий поток должен ввести ядро для его ожидания; и ядру необходимо настроить мьютекс так, чтобы поток-владелец сигнализировал ядру, когда это сделано с ним.
Различие состоит в том, что enter может блокироваться бесконечно до освобождение мьютекса; в то время как сигнал просто указывает, что такое событие произошло.
Когда ядро информируется о том, что оспариваемый мьютекс стал доступным, оно должно, как минимум, разрешить запуск ожидающего потока , Когда он запускается, он может обнаружить, что мьютекс все еще недоступен, и снова войти в свой режим ожидания.
Может ли ожидающий поток работать до того, как освобождающий поток может быть основан на определенных c вещах, таких как приоритет или планирование учебный класс. С точки зрения мультипроцессоров, оба потока могут быть одновременно развернуты на отдельных процессорах, поэтому следующее приобретение мьютекса может быть совершенно недетерминированным c.
С другой стороны, некоторые системы, такие как честное планирование от Google мьютексы (полностью выполняемые в пользовательском режиме) гарантируют, что голодание, подразумеваемое в предыдущем абзаце, не может произойти.
Итак, реализация определена; и определение, предоставленное вашей реализацией, многое говорит о вашей реализации.