Answers:
oneway
与分布式对象API一起使用,该API允许在不同线程或应用程序之间使用Objective-C对象。它告诉系统在方法返回之前,它不应阻塞调用线程。没有它,即使方法的返回类型为void,调用方也将阻塞。显然,除了void之外,它永远不会与其他任何东西一起使用,因为这样做将意味着该方法返回某些内容,但调用者未获取它。
有关分布式对象的更多信息,请参见Cocoa Conceptual DistrObjects。
根据Apple的文档,单向仅用于分布式对象(而不用于多线程)。
仅当对象是远程对象时,才使用单向修饰符。在这种情况下,释放调用可以异步返回(在方法终止之前)。在网络中这很有意义,因为等待返回消息可能需要一段时间。
release方法没有返回值,因此调用它可以异步执行。相反,retain和autorelease返回一个id,因此我们必须等待该返回消息在整个网络中传输。
oneway
关键字导致消息在执行被调用方法时不阻止调用线程,则使被调用方法在第二个线程上执行。那不是多任务处理(以最简单的形式)吗?我可以使用它来快速(无需费力)将一些小的操作分离到另一个线程吗?非常感谢你。
- (oneway void) release
呢?它不在另一台机器或进程上。
one way
一种方法意味着 don't wait for the method to complete and return anything. block it if there is any n/w trafic or so.
我有意义吗?
oneway void
是我们有时在编码中有时会看到的那些美丽的偶然隐喻之一,在这种情况下是死亡。“如果另一边有任何东西,请不要告诉我们。”