Issue #17208: add a note about the termination behaviour of daemon threads.

This commit is contained in:
Antoine Pitrou 2013-02-15 21:27:18 +01:00
parent 439bdb1062
commit 38b82543f7
1 changed files with 6 additions and 0 deletions

View File

@ -244,6 +244,12 @@ is that the entire Python program exits when only daemon threads are left.
The initial value is inherited from the creating thread. The flag can be The initial value is inherited from the creating thread. The flag can be
set through the :attr:`~Thread.daemon` property. set through the :attr:`~Thread.daemon` property.
.. note::
Daemon threads are abruptly stopped at shutdown. Their resources (such
as open files, database transactions, etc.) may not be released properly.
If you want your threads to stop gracefully, make them non-daemonic and
use a suitable signalling mechanism such as an :class:`Event`.
There is a "main thread" object; this corresponds to the initial thread of There is a "main thread" object; this corresponds to the initial thread of
control in the Python program. It is not a daemon thread. control in the Python program. It is not a daemon thread.