Threads verbinden in Python

Manav Narula 22 Januar 2022
Threads verbinden in Python

Multithreading ermöglicht uns eine vollständige CPU-Optimierung.

Threads benötigen keinen übermäßigen Speicher-Overhead, und mehrere Threads können auch kommunizieren und Informationen austauschen. In Python verwenden wir das Modul threading, um mit Threads zu arbeiten.

Wir diskutieren nun die Methode join() mit Threads in Python. Wir verwenden diese Funktion, um den aufrufenden Thread zu blockieren, bis der Thread darauf beendet wird.

Es kann normalerweise oder aufgrund einer Ausnahme und eines Timeouts beendet werden. Der Timeout-Wert kann bei Bedarf auch in der Funktion join() angegeben werden.

Lassen Sie uns dies nun an einem Beispiel diskutieren.

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")

Ausgabe:

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

Beachten Sie im obigen Beispiel, dass die anderen beiden Threads beendet sind, wenn t3 beendet ist. Die Funktion join() hält jedoch den Haupt-Thread, und die anderen Threads warten darauf, dass er beendet wird.

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

Verwandter Artikel - Python Thread