DevPrep

Все темы › Многопоточность и асинхронное программирование

Synchronized

Middle PRO

Суть

@synchronized(obj) { ... } — директива Objective-C: критическая секция, в которую одновременно может войти только один поток. Под капотом рантайм держит глобальную хеш-таблицу «объект → рекурсивный мьютекс» и вызывает objc_sync_enter(obj) / objc_sync_exit(obj) вокруг блока.

Свойства:

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store