| Предыдущий | Следующий |
| STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED | STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING |
STATUS_THREADPOOL_RELEASED_DURING_OPERATION
Что означает STATUS_THREADPOOL_RELEASED_DURING_OPERATION
STATUS_THREADPOOL_RELEASED_DURING_OPERATION указывает на гонку времени жизни: thread pool был освобождён, пока связанная операция ещё могла поставить или выполнить работу. Обычно проблема находится в порядке завершения, а не в нехватке потоков.
Что проверить
- Определите, кто начинает shutdown пула и какие источники работы — timers, waits, I/O callbacks или другие producers — ещё активны после этой точки.
- Сначала запретите новые submissions, затем отключите источники callbacks, отмените или дождитесь уже запущенных callbacks и только после этого закрывайте сам pool.
- Не полагайтесь на простую проверку указателя на NULL: между проверкой и постановкой новой работы возможна гонка.
Как подтвердить правильную обработку
Исправление подтверждается многократным shutdown под нагрузкой без постановки работы после начала teardown и без STATUS_THREADPOOL_RELEASED_DURING_OPERATION.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
