Как проверить, что объект @synchronized

Иногда я писал следующий код для синхронизации подпрограммы:

@synchronized(objToBeSync){ .... }

Когда два потока пытаются получить доступ к блоку синхронизации одновременно, один будет блокировать другие, пока один не выйдет из блока синхронизации.

Однако иногда я не хочу, чтобы один блокировал другой, но другие проверяют, синхронизируется ли объект, а затем делают что-то другое, поэтому я должен сделать что-то вроде этого:

@synchronized(objToBeSync){
    _isBeingSync = YES;
    ... 
    _isBeingSync = NO;
}

_isBeingSync является дополнительной переменной при проверке синхронизации objToBeSync. Другие темы проверяют_isBeingSync прежде чем они продолжат свою работу. И мой вопрос заключается в том, что objc предоставляет sth для прямой проверки objToBeSync, но не вводит дополнительную переменную для определения его статуса.

Ответы на вопрос(1)

Ваш ответ на вопрос