Maison  >  Article  >  développement back-end  >  Application multithread Python (avec exemples)

Application multithread Python (avec exemples)

不言
不言original
2018-09-11 16:32:451253parcourir

Le contenu de cet article concerne l'application du multi-threading Python (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Avant d’introduire le multi-threading, regardons d’abord un exemple très simple.

Exemple :

#单线程实例
import time

def mark(index):
    print("Mark的帅,远近闻名,第%d次传播"%index)
    #暂停一秒,不然看不到效果哦
    time.sleep(1)

if __name__=="__main__":
    for i in range(6):
        mark(i)

Résultat : Imprimer dans l'ordre

Application multithread Python (avec exemples)

Ce qui précède est le fil unique effet d'affichage, utilisons maintenant le multi-threading pour le traiter. Avant cela, il faut savoir que le module thread est un module de python de niveau relativement bas

Afin de nous faciliter le contrôle des threads, python utilise le module threading pour encapsuler les threads. .

Exemple :

#多线程实例
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()

Effet :

Application multithread Python (avec exemples)

Voir l'effet, le fil unique original, Séquentiel l'exécution prend au moins 6 secondes, mais en utilisant le multi-threading, cela prend un peu plus d'1 seconde. Cela montre la différence d'efficacité de fonctionnement, c'est pourquoi nous utilisons le multi-threading.

2. Le thread principal attendra que tous les sous-threads soient terminés avant de se terminer.

C'est très simple à vérifier, il suffit de regarder le 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("单线程程序到这里主线程就会结束了,多线程呢,看看吧")

Effet :

Application multithread Python (avec exemples)

Recommandations associées :

Python multi -Tutoriel d'exemple de threading

Exemples de programmation multithread de thread Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn