Jestem nowy w Java concurrency/multi-threading. Czy ktoś może mi wyjaśnić, w jakich sytuacjach nabywać() i nabywaćNieprzerwanie() musi (lub nie musi) być używane, jak są różne; a także jak z nich korzystać (przykład kodu?).Kiedy używać metody acquire() i acquireUninterruptibly() java.util.concurrent.Semaphore?
Dziękuję bardzo.
acquire() jest przerywalna (zakładam, że wiesz, co oznacza), a druga nie. Jeśli nie chcesz przerwać, aby zatrzymać nabywanie() używać później, jeśli kod może obsługiwać przerwań, użyj tego pierwszego. –
Peter, Powiedziałeś "... Jeśli nie chcesz przerwać, aby zatrzymać nabycie() użyj później ..". Czy nabyta semafora będzie przydatna, gdy wątek zostanie przerwany? – appFormation
Semafor jest przydatny w obu przypadkach. Przerwanie zmienia tylko ścieżkę, którą przyjmuje kod. –