ich habe mal wieder eine recht allgemeine Frage, die ich für verschiedene Skripte/Programme benötige.
Es kommt hin und wieder vor, dass ich eine neue Instanz einer laufenden Nummer benötige. Ohne Threads geht das folgendermaßen problemlos:
Code: Alles auswählen
class Lnr:
iLaufendeNummer = 0
def next(self):
iNextId = Lnr.iLaufendeNummer
Lnr.iLaufendeNummer += 1
return iNextId
iNext = Lnr.next()
Ideal wäre es, wenn eine Funktion wie "i+=1" i um ein erhöhen und gleichzeitig den neuen Wert zurückgeben würde. Ansonsten fällt mir nur ein, dass man einen lock verwendet. Was passiert eigentlich, wenn mehrere Threads gleichzeitig auf dieselbe! Funktion zugreifen?
Ist mein Problem ein Standardfall der Informatik?
Grüße,
Michael