Home > Article > Backend Development > Python multi-threading application (with examples)
The content this article brings to you is about the application of Python multi-threading (with examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Before introducing multi-threading, let's first look at a very simple example.
Example:
#单线程实例 import time def mark(index): print("Mark的帅,远近闻名,第%d次传播"%index) #暂停一秒,不然看不到效果哦 time.sleep(1) if __name__=="__main__": for i in range(6): mark(i)
Result: Print in order
The above is the single-thread display effect, now Let's use multi-threading to handle it. Before doing this, we should know that the thread module is a relatively low-level module of python.
In order to facilitate us to control threads, python uses the threading module to encapsulate threads. The threading module is used below.
Example:
#多线程实例 import time import threading def mark(index): print("Mark的帅,远近闻名,第%d次传播"%index) #暂停一秒,不然看不到效果哦 time.sleep(1) if __name__=="__main__": for i in range(6): #定义子线程 t=threading.Thread(target=mark,args=(i,)) #启动子线程 t.start()
Effect:
##See the effect, the original single thread, sequential execution , it takes at least 6 seconds, but using multi-threading, it takes just over 1 second to complete, which shows the difference in operating efficiency, which is why we use multi-threading. 2. The main thread will wait for all sub-threads to complete before ending It is very simple to verify this, just look at the code:
#主线程会等待所有子线程执行完成才结束 import time import threading def mark(): #暂停3秒 time.sleep(3) print("Mark的帅,远近闻") if __name__=="__main__": print("程序开始执行了") # 定义子线程 t = threading.Thread(target=mark) # 启动子线程 t.start() print("单线程程序到这里主线程就会结束了,多线程呢,看看吧")Effect:
Related recommendations:
Python multi-threading example tutorial
Python threading multi-threaded programming example
The above is the detailed content of Python multi-threading application (with examples). For more information, please follow other related articles on the PHP Chinese website!