Home > Article > Backend Development > What can the python threading module do? (detailed examples)
In the following article, let’s take a look at what the python threading module is. Learn about the python threading module and what role the threading module can play in python programming.
Threading module
Threading is used to provide thread-related operations. A thread is the smallest unit of work in an application.
Threading is used to provide thread-related operations
The threading module is built on the _thread module. The thread module handles and controls threads in a low-level, primitive way, while the threading module provides a more convenient API to handle threads by secondary encapsulation of threads.
import threading import time def worker(num): """ thread worker function :return: """ time.sleep(1) print("The num is %d" % num) return for i in range(20): t = threading.Thread(target=worker, args=(i,),name =“t. % d” % i) t.start()
The above code creates 20 "foreground" threads, and then the controller is handed over to the CPU. The CPU schedules according to the specified algorithm and executes instructions in slices.
Thread method description
t.start(): Activate the thread,
t.getName(): Get the name of the thread
t.setName( ): Set the name of the thread
t.name: Get or set the name of the thread
t.is_alive(): Determine whether the thread is active
t.isAlive( ): Determine whether the thread is active
t.setDaemon() Set it as a background thread or foreground thread (default: False); set whether the thread is a daemon thread through a Boolean value, you must execute the start() method It can be used only after that. If it is a background thread, the background thread is also running during the execution of the main thread. After the main thread is executed, the background thread stops regardless of success or failure; if it is a foreground thread, the foreground thread is also running during the execution of the main thread. After the main thread finishes executing, the program stops after waiting for the foreground thread to finish executing too
t.isDaemon(): Determine whether it is a daemon thread
t.ident: Get the identifier of the thread. The thread identifier is a non-zero integer. This property is only valid after the start() method is called, otherwise it just returns None.
t.join(): Execute each thread one by one, and continue execution after completion. This method makes multi-threading meaningless
t.run(): The thread is blocked by the CPU Automatically execute the run method of the thread object after scheduling
More methods
start The thread is ready, waiting for CPU scheduling
setName Set the name for the thread
getName Get the thread name
setDaemon is set to background thread or foreground thread (default); if it is a background thread, during the execution of the main thread, the background thread is also in progress. After the main thread completes execution , the background thread will stop regardless of success or failure; if it is a foreground thread, during the execution of the main thread, the foreground thread is also in progress. After the main thread completes execution, the program stops after waiting for the foreground thread to complete execution too
join executes each thread one by one, and continues execution after completion. This method makes multi-threading meaningless
run The thread automatically executes the run method of the thread object after being scheduled by the CPU
Lock Thread lock (mutex lock Mutex)
Event
The above is all the content described in this article. This article mainly introduces the relevant knowledge of python threading module , I hope you can use the information to understand the above content. I hope what I have described in this article will be helpful to you and make it easier for you to learn python.
For more related knowledge, please visit the Python tutorial column on the php Chinese website.
The above is the detailed content of What can the python threading module do? (detailed examples). For more information, please follow other related articles on the PHP Chinese website!