Что означает код ошибки Windows 721 (ERROR_NO_YIELD_PERFORMED)?

 
Предыдущий Следующий
ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE ERROR_TIMER_RESUME_IGNORED

ERROR_NO_YIELD_PERFORMED

Что означает ERROR_NO_YIELD_PERFORMED

ERROR_NO_YIELD_PERFORMED означает, что попытка уступить processor time не привела к переключению на другой готовый поток. Caller не ожидал интервал времени и не получил обычный timeout — просто scheduler не нашёл runnable peer для этого yield.

Что проверить

  • Зафиксируйте CPU count, affinity и priority текущего потока и тех потоков, от которых ожидается прогресс.
  • Не используйте yield как механизм ожидания завершения другой операции или освобождения lock.
  • Если требуется ожидание события, применяйте event/condition/wait либо bounded backoff с явным условием выхода.
  • При высокой загрузке используйте scheduler ETW trace, чтобы подтвердить наличие/отсутствие runnable peers, а не делать вывод по одному status.

Как подтвердить исправление

Исправление подтверждается тем, что алгоритм прогресса опирается на явную синхронизацию, а не на предположение, что каждый yield обязательно переключит поток.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.