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.
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