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

Application multithread Python (avec exemples)

不言
Libérer: 2018-09-11 16:32:45
original
1432 Les gens l'ont consulté

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)
Copier après la connexion

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()
Copier après la connexion

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("单线程程序到这里主线程就会结束了,多线程呢,看看吧")
Copier après la connexion

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!

Étiquettes associées:
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal