ich kommen manchmal noch etwas durcheinander mit dem 'self' in klassen, und versuche mich ausserdem grad mit threads - ich habe hier das folgende:
Code: Alles auswählen
class xyz:
def __init__(self):
self.threadLock = 0
self.daten = list()
# ...
def updateMarketPrices(self, market):
for i in self.daten:
# daten modifizieren
# ...
return
def marketThread(self, market, timer):
def thread(market, timer, lock):
lock.acquire()
self.updateMarketPrices(market)
lock.release()
time.sleep(timer)
if self.threadLock == 0:
self.threadLock = thread.allocate_lock()
thread.start_new_thread(thread, market, timer, self.threadLock)
Von aussen hätte ich dann eine Liste mit markets, und für jeden würde ich einmal xyz.marketThread aufrufen.
Achja, für den Fall das ich das mit dem lock _völlig_ falsch verstanden habe: Der Sinn soll sein, dass nicht zwei threads gleichzeitig 'self.daten' zu ändern versuchen, weil ich mir denke dass man das vielleicht nicht machen sollte?
Vielen Dank für eure Hilfe,
Jo