Ich möchte ein Objekt, das von einem beliebigen Thread erstellt werden kann, aber sobald ein Thread ruft myObject.use()
kann es nur von diesem Thread verwendet werden, bis myObject.release()
aufgerufen wird.Gibt es eine Möglichkeit, ein Objekt nur für den ersten Thread nutzbar zu machen, der auf eine bestimmte Methode zugreift?
Ich möchte nicht die Entwickler zwingen, alle Methodenaufrufe für dieses Objekt/Klasse in synchronisierten Blöcken (die ich weiß, könnte verwendet werden, um diese Funktionalität approximieren), da dies wahrscheinlich zu Missbrauch des Objekts führen wird wenn sie vergessen, alle Anrufe von myObject.use()
zu myObject.release()
im selben synchronisierten Block zu wickeln.
Ist das möglich?
Könnte es mit einem ReentrantLock
getan werden?
Definiere _von diesem Thread verwendet_. –
Klingt wie ein * Objekt Pool * für mich. –
@SotiriosDelimanolis Eine Instanz in einem Thread ruft die Methoden der myObject-Instanz auf –