Home  >  Article  >  Backend Development  >  Python multi-threading application (with examples)

Python multi-threading application (with examples)

不言
不言Original
2018-09-11 16:32:451289browse

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

Python multi-threading application (with examples)

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:

Python multi-threading application (with examples)

##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:

Python multi-threading application (with examples)

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn