消息的概念通常与异步调用相关联。目标C是这种情况吗?即当一个调用者向一个被调用者发送一个消息来执行一个方法时,调用者是否会立即继续或被阻塞,直到被调用者完成执行请求的方法?在Objective C中发送的消息实际上是异步的吗?
2
A
回答
3
这绝对是封锁。因为消息被以纯C.实际翻译
[myObj myMethod];
变得
objc_msgSend(myObj, @selector(myMethod));
在运行时。
但是,一些方法被实现为异步。请参阅-[NSTask launch]
,-[NSThread start]
等
2
不,当您读取objective-c中的“发送消息”时,您必须将其视为调用方法。 所以,发送消息是调用一个方法,一些是同步的,一些是异步的,你必须检查文档才能看到。
+1,但对于这些异步方法,实际方法是同步运行的。这只是该方法所做的工作是异步启动和执行的。无法使消息发送异步。 – wbyoung 2012-04-15 14:01:22
谢谢然后我的下一个问题http://stackoverflow.com/questions/10163489/how-to-send-message-asynchronously-in-objective-c排除你提到的具体方法。 – user310291 2012-04-15 15:44:40