Ich bin neu in Java Concurrency/Multithreading. Kann mir bitte jemand erklären, in welchen Situationen die acquire() und acquireUnterbrechbar() verwendet werden müssen (oder dürfen), wie sie sich unterscheiden; und auch wie man sie benutzt (Codebeispiel?).Wann die acquire() - und acquireUninterruptibly() -Methode von java.util.concurrent.Semaphore verwendet werden soll?
Vielen Dank.
acquire() ist unterbrechbar (ich nehme an, Sie wissen, was es bedeutet) und das andere ist nicht. Wenn Sie nicht möchten, dass ein Interrupt die Methode acquire() stoppt, verwenden Sie die erstere Funktion, wenn Sie Code verarbeiten können. –
Peter, Du hast gesagt "... Wenn du keinen Interrupt haben willst, den acquire() zu stoppen, benutze den späteren ...". Wird also das erworbene Semaphor nützlich sein, wenn der Thread selbst unterbrochen wurde? – appFormation
Der Semaphor ist in beiden Fällen nützlich. Der Interrupt ändert nur den Pfad des Codes. –