This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: 7.5.6 Thread Objects is too vague
Type: Stage:
Components: Documentation Versions:
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: alanvgreen, georg.brandl, roysmith
Priority: normal Keywords:

Created on 2004-03-09 19:16 by roysmith, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (3)
msg20188 - (view) Author: Roy Smith (roysmith) Date: 2004-03-09 19:16
Some items which could be improved....

"Once the thread's activity is started, the thread is considered 
'alive' and 'active' (these concepts are almost, but not quite 
exactly, the same; their definition is intentionally somewhat 
vague)."

This is a bit silly.  Either these attributes are intended to be 
exposed to users or they're not.  If they are, they should be well 
defined.  If not, they shouldn't be mentioned at all.

"If the subclass overrides the constructor, it must make sure to 
invoke the base class constructor (Thread.__init__()) before doing 
anything else to the thread."

This is misleading.  You need to call "Thread.__init__ (self)", i.e. 
pass along the self argument.  At least I think you do :-)

"join([timeout]) ... When the timeout argument is present and not 
None, it should be a floating point number specifying a timeout for 
the operation in seconds (or fractions thereof)."

What happens if you pass None?  Does it wait forever?  Is this any 
different from not passing any argument at all?  What happens if a 
timeout occurs?  Is there any way to differentiate between a 
timeout and a normal return?

"A thread can be join()ed many times."

Presumably only if all but the last call timed out?  Or maybe not?  
If you get a normal return (i.e. not a timeout) from join(), and 
then call join() again, what happens?  Does it just return 
immediately with no error?
msg20189 - (view) Author: Alan Green (alanvgreen) Date: 2005-01-23 05:46
Logged In: YES 
user_id=1174944

Submitted Patch 1107656 which addresses the 'alive' and
'active' issue. It does this by deprecating the isAlive()
method and adding an isActive method instead. The patch also
updates the documentation  to talk about threads being
'active' rather than 'alive and active'.
msg20190 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2005-07-17 21:01
Logged In: YES 
user_id=1188172

The second item is no bug. Methods in the docs are always
written with a trailing "()".

I have addressed the join() issues in
Doc/lib/libthreading.tex r1.22, r1.20.4.2.

Closing as the remaining issue is covered by the patch
mentioned by alanvgreen.
History
Date User Action Args
2022-04-11 14:56:03adminsetgithub: 40019
2004-03-09 19:16:45roysmithcreate