2014-11-23 4 views
0

С вызовами метода Obj-C реализованы сообщения, таким образом, объект получает сообщение, и если он имеет соответствующий селектор для этого сообщения, он выполняет метод экземпляра объекта.Objective-C Объяснение метода и пояснения сообщений

Сказав это, есть ли какая-либо очередь, где сообщения ставятся в очередь на процесс? это очередная очередь или параллельная очередь? эта очередь гарантирует безопасность потоков (например, квартира с односторонним доступом)

ответ

3

«Сообщения» - это концептуальное понимание вызовов методов в ObjC; на практике это всего лишь динамический механизм отправки. Вызов по-прежнему происходит и возвращается синхронно на поток, из которого вы его делаете.

Обмен сообщениями ObjC не работает, как поток сообщений с информацией о потоках, например, Сообщения Windows, которые звучат так, как вы, возможно, думают. Существуют способы делать IPC и, конечно же, способы настройки серийной или параллельной работы в фоновом потоке (см. Grand Central Dispatch), но ни одна из них не связана с фактическим механизмом отправки сообщений ObjC для вызовов методов.

(Вы можете увидеть некоторые материалы кросс-нити в Cocoa, привязанные к концепции Cocoa-native, называемой «run loop», и если вы используете методы NSObject -performSelector... для вызова объектов в других потоках, которые будут использовать цикл выполнения для планировать эти призывы и гарантировать заказ. Но это концепция более высокого порядка, чем сами «сообщения».)

0

Нет очереди, и никто не гарантирует безопасность потоков для вас.