Message136092
| Author |
vstinner |
| Recipients |
brett.cannon, docs@python, georg.brandl, pitrou, vstinner |
| Date |
2011年05月16日.14:12:18 |
| SpamBayes Score |
0.0008696185 |
| Marked as misclassified |
No |
| Message-id |
<1305555139.51.0.921637009637.issue12028@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
> In which case can it be None?
Oh, I misunderstood threading.py. current_thread().ident cannot be None.
During the bootstrap of a thread, Thread._ident is None, but current_thread().ident is not None because current_thread() creates a dummy thread object having the right identifer. This dummy object is destroyed at soon as the Thread object is started (see Thread._bootstrap_inner).
current_thread().ident is a little bit "suboptimal" because it gets the identifier of the thread, it reads the corresponding thread object, and then it gets the identifier of the thread object.
def current_thread():
...
return _active[_get_ident()]
... |
|