Присутствие не забирает пользователя покинуть события?

Одна вещь, которую я хочу добавить, состоит в том, что если вы читаете официальную документацию в threading lib Python , рекомендуется избегать использования «демонических» потоков, когда вы не хотите, чтобы потоки заканчивались внезапно, флаг, который Паоло Ровелли упомянул .

Из официальной документации:

Потоки Daemon внезапно останавливаются при завершении работы. Их ресурсы (такие как открытые файлы, транзакции базы данных и т. Д.) Могут быть недоступны. Если вы хотите, чтобы ваши потоки прекратились изящно, сделайте их недемоническими и используйте подходящий механизм сигнализации, например Event.

blockquote>

Я думаю, что создание демонических потоков зависит от вашего приложения, но в целом (и, на мой взгляд), лучше избегать их убийства или сделать их демоническими. При многопроцессорной обработке вы можете использовать is_alive() для проверки состояния процесса и «завершения» для их завершения (также вы избегаете проблем GIL). Но вы можете найти больше проблем, иногда, когда вы выполняете свой код в Windows.

И всегда помните, что если у вас есть «живые потоки», интерпретатор Python будет работать для их ожидания. (Из-за этой демона может помочь вам, если не имеет значения, резко заканчивается).

0
задан xji 31 December 2018 в 10:29
поделиться