Joindre des fils en Python

Manav Narula 22 janvier 2022
Joindre des fils en Python

Le multithreading nous permet d’obtenir une optimisation complète du processeur.

Les threads ne nécessitent pas de surcharge de mémoire excessive et plusieurs threads peuvent également communiquer et partager des informations. En Python, on utilise le module threading pour travailler avec des threads.

Nous allons maintenant discuter de la méthode join() avec les threads en Python. Nous utilisons cette fonction pour bloquer le thread appelant jusqu’à ce que le thread sur celui-ci soit terminé.

Il peut normalement se terminer ou en raison d’une exception et d’un délai d’attente. La valeur du timeout peut être mentionnée dans la fonction join() également si nécessaire.

Discutons-en maintenant avec un exemple.

import threading
import time


class sample(threading.Thread):
    def __init__(self, time):
        super(sample, self).__init__()
        self.time = time
        self.start()

    def run(self):
        print(self.time, " starts")
        for i in range(0, self.time):
            time.sleep(1)
        print(self.time, "has finished")


t3 = sample(3)
t2 = sample(2)
t1 = sample(1)
t3.join()
print("t3.join() has finished")
t2.join()
print("t2.join() has finished")
t1.join()
print("t1.join() has finished")

Production :

3  starts
2  starts
1  starts
1 has finished
2 has finished
3 has finished
t3.join() has finished
t2.join() has finished
t1.join() has finished

Dans l’exemple ci-dessus, notez que les deux autres threads sont terminés lorsque t3 se termine. Cependant, la fonction join() contient le thread principal et les autres threads attendent qu’il se termine.

Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Thread