1. Im thread soll eine Ressource geschrieben werden, welche aus dem Netzwerk zeitverzögert kommt.
2. Die Ressource soll aus dem aufrufenden Objekt heraus gelesen werden können.
3. Der thread soll gestartet und beendet werden können.
Es gibt zig Möglichkeiten, aber mir fehlt im Grunde eine grobe Richtung. Ich kann auch andere Bibs nehmen.
Mein letzter Stand ist mit Event(). Das erste wait() und set() funktioniert, aber ab dem zweiten wait() stoppt der thread nicht mehr. Ich habe keine Ahnung weshalb.
Code: Alles auswählen
from threadfile import threadclass
from time import sleep
thread1 = threadclass() # thread erstellen
thread1.start() # thread starten
sleep(5) # ein wenig Warten
thread1.run_start() # thread
Code: Alles auswählen
import threading
from time import sleep
wait2 = threading.Event()
class threadclass(threading.Thread):
def __init__(self):
super().__init__()
self.daemon = False # keine Auswirkung!
self.ressource = 99 # Ressource die aus beiden Klassen gefunden werden soll
def run(self):
while True:
print("run") # Hier würde die Ressource geschrieben
sleep(1) # Damit es nicht so schnell ist
wait2.wait() # thread schlafen schicken
def run_start(self):
wait2.set() # thread aufwecken