Zdaję sobie sprawę, że zsynchronizowany blok zapewniony w Javie jest w zasadzie implementacją muteksu wielokrotnego wprowadzania. Czy jednak zsynchronizowany blok atomowy?Zsynchronizowany blok - Java
W jaki sposób obsługiwane są przerwań dla wątków aktualnie wykonywanych w bloku zsynchronizowane - czy po prostu zwolnić blokadę, przywracając wszystkie dotychczas dokonane zmiany?
EDYCJA: W odniesieniu do części Przerwania pytania - w jaki sposób jest ogólnie obsługiwane w Javie. Na przykład widzę wiele przykładów kodu java, w których programiści przechwytują przerwanie, gdy (powiedzmy) wątek znajduje się w kolejce oczekiwania. Jednak w bloku catch wszystko, co robią, to drukowanie, w którym przerwano. Jestem bardziej ciekawy, co tak naprawdę dzieje się z tą nitką? Czy został usunięty z kolejki oczekiwania?
Czyli programiści są w stanie przechwycić zdarzenie Przerwania i zrezygnować z blokady w przypadku, gdy znajduje się wewnątrz zsynchronizowanego bloku? – Hari
@Titan Zsynchronizowany blok jest bardziej równoważny z blokadą zakresu, więc rezygnacja z blokady jest po prostu opuszczeniem tego zakresu. Zauważ, że zdarzenia przerwania są po prostu mechanizmem kontroli wątków niskiego poziomu - podczas gdy mogą być używane w podobnych czasach, są to pojęcia ortogonalne. – Bringer128