Description
Documentation
threading module is missing basic/introductory usage example
documentation start from some general notes which may have its place there and jump into "This module defines the following functions: threading.active_count()"
Would it be maybe possible to have an example of basic standard usage? For "my Python script is CPU-limited, I want to use more than one core"
the closest that I found is https://docs.python.org/3/library/threading.html#threading.Thread.run that does not really explain at all how it is actually supposed to be used even for a toy example
(I will probably find tutorial somewhere, maybe chatgpt/deepseek will produce something but I would love to have an official example that I can assume to be a good idea rather than finding something that seems to work)
Activity
matkoniecz commentedon Sep 18, 2024
I am not claiming that it is a good code (I was in fact looking in docs as I have no clear idea how ideal/typical code is expected to look like) but following seems to work and sort-of-demonstrates threading (admittedly, this one does not demonstrate that GIL was worked around but I am going to trust docs that it will work also for CPU-heavy things):
(yes, code above is likely terrible, that is why I tried checking official docs first)
BTW, I was initially confused as I had
s.crawl()
and it was sequential but without obvious failures :)gaogaotiantian commentedon Sep 18, 2024
You can't :(. At least for now.
If you read the docs, it's actually mentioned in the very early section in "CPython implementation detail".
I'm not a docs expert, but I think people have different opinions of docs. I'm not against examples in docs but I think most of the time Python docs gives examples immediately after the documented methods. What you are looking for might be a "tutorial" about how to use threading module - which is something that Python tries to cover for many aspects (https://docs.python.org/3/howto/index.html).
matkoniecz commentedon Sep 18, 2024
oh right, in such case https://docs.python.org/3/library/multiprocessing.html#module-multiprocessing should be used which actually has a basic example
still, it would be nice for threading to have something comparable
ZeroIntensity commentedon Sep 20, 2024
Would you like to submit a PR for that?
matkoniecz commentedon Sep 20, 2024
Sadly, I am not able as I have no idea what is the proper way to code this. Unless something like #124210 (comment) is actually a good example.
ZeroIntensity commentedon Sep 20, 2024
It's a working example, but maybe we want something that has
args
andkwargs
with it.donBarbos commentedon Nov 19, 2024
what about next example:
ZeroIntensity commentedon Nov 19, 2024
I like it :)
threading
docs #127046hridyasadanand commentedon Mar 29, 2025
Hi! I’m Hridya, a first-year BTech student learning Python. I’d love to work on this issue as part of my GSoC preparation. Can I take it?
ZeroIntensity commentedon Mar 29, 2025
There's already a PR up, but reviewing PRs is a great way to contribute as well.
gh-124210: Add introduction to `threading` docs (#127046)
8 remaining items