2011-08-13 14 views

Odpowiedz

23

Tak, są. Od the docs (obecnie na emeryturze): funkcja synchronizacji

obiektywnej-C obsługuje kodu rekurencyjnego i wielowejściowy. Wątek może używać pojedynczego semafora kilka razy w rekursywny sposób; inne wątki są blokowane przed użyciem, dopóki wątek nie zwolni wszystkich zamków uzyskanych za jego pomocą; oznacza to, że każdy blok @synchronized() jest wychodzący normalnie lub przez wyjątek.

Aby omówić działanie z tą i innymi metodami synchronizacji/blokowania, zobacz here.

+0

Ten link do dokumentu jest martwy. Oto aktualny link do przewodnika synchronizacji. https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Multithreading/ThreadSafety/ThreadSafety.html#//apple_ref/doc/uid/10000057-CH8-124887 – bkbeachlabs

+0

Dzięki @bkbeachlabs. Zaktualizowałem swoje linki, aby wskazywały stare/zarchiwizowane wersje tego, co kiedyś. Nie jestem pewien, gdzie można znaleźć tę "' zsynchronizowaną @ jest reentrant "gwarancji w bieżących dokumentów. – jtbandes

Powiązane problemy