Async Techniques and Examples in Python Transcripts
Chapter: Course conclusion and review
Lecture: Review: Threads
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
In contrast to the cooperative nature of asyncio type of concurrency on a single thread thread based parallelism lets the operating system
0:10
decide when our code gets to run. We have a single process and that process has a main thread which may kick off additional threads
0:16
spawn a couple additional pieces of work and then wait for them to complete and keep on running.
0:21
And the important thing is it's up to the OS to figure out when a thread runs, not up to our particular process.
0:28
Although the GIL does have something to say about it doesn't it, so here's the mental picture for threads.
0:33
Here's the programming model, so we're going to start with the built in threading library. There's no external things to install here.
0:40
We're going to have some function we want to run asynchronously but this is just normal Python code.
0:45
It doesn't do any sort of async await or stuff like that, it's just code and instead of running on the main thread, we're going to run somewhere else.
0:52
So given this, we'd like to create a bit of work that's going to run it so we set up the targets the arguments and if we want it not keep the
1:00
process alive or be canceled more easily we can say it's a daemon thread. And then we just start it, potentially do some
1:08
other work while it's running, or start other threads, things like that and then we're going to just wait for it to complete so we say work.join.
1:14
Of course we can give it a timeout. We were just saying wait forever until it finishes.