Что означает код ошибки 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 — процессор был уступлен другим потокам, но не нашлось потока, готового к выполнению.

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

Зафиксируйте поток и вызов, на котором появился код, а также состояние потока до и после операции.

  • Проверьте срок жизни контекста обратного вызова, порядок завершения потока и наличие ожидающих APC или уведомлений, если они участвуют в сценарии.
  • При гонке или зависании снимите стеки участвующих потоков: обычный повтор часто только меняет расписание и скрывает причину.

Исходная формулировка

  • a yield request found no other runnable thread.
  • record CPU count, thread priority, affinity mask, and contention state; inspect whether the loop has a real blocking primitive available; use ETW scheduler traces when high CPU usage accompanies repeated yields
  • this result corresponds to Win32 error value documented as: A yield execution was performed and no thread was available to run.
  • Do not treat yielding as guaranteed progress. Replace busy loops with events, condition variables, waits, or bounded exponential backoff when another thread must produce work.
  • This result differs from a wait timeout: the caller did not block for an interval; it merely found no runnable peer to receive the processor.

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


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