ich habe eine Threading-Frage, ich kann in meinem Programm einen weiteren Thread starten, aber wie schaffe ich es das ich nur einen weiteren Thread starten kann, nicht 2 nicht 3 ...
Ich denke das mein Problem ist das ich bei jedem Aufruf von startThread() einen neuen Thread starte, aber wie schaffe ich es das ich nur einen Thread starte wenn bisher noch keiner erstellt wurde, und falls es einen gibt soll die Anfrage verworfen werden.
hier mal ein kleienr Auszug:
Klasse Utils:
Code: Alles auswählen
class Utils(threading.Thread):
def __init__(self, *args, **kwargs):
super(Utils, self).__init__(*args, **kwargs)
self.event = threading.Event()
def nicefunc(self):
#....
Code: Alles auswählen
def startthread(self):
self.utils = Utils(target=self.loop)
self.utils.start()
print("Anzahl Threads nach den Start: ",threading.active_count())
def loop(self):
while not self.isstopped():
self.utils.nicefunc()
#....