2010-12-12 55 views
2

我有Objective-C mutithreaded方法的问题。iphone多线程API

[self performSelectorOnMainThread:@selector(displayThread2Counts:) 
     withObject:myNumber 
     waitUntilDone:NO]; 

参数“waitUntilDone”是什么意思?

waitUntilDone:YESwaitUntilDone:NO有什么区别?

回答

3

documentation是相当透明的:

一个布尔指定是否 当前线程阻塞直到 指定选择后的主线程上 接收器中执行。指定 YES以阻止此线程;否则, 指定“否”,立即返回 。

换句话说,如果您为waitUntilDone参数指定YES,那么在请求的选择器完成其工作之前,不会在当前线程上发生其他操作。但是,作为一个推论,如果你只使用单线程(主线程),那么在指定YES时没有任何价值,因为你所做的全部工作就是调用所请求的选择器,就像在非线程中一样环境。

+0

是的,坦克你middaparka!刚才我写了一个演示,它证明你说的是正确的。文档是相当透明的,英文不是我的母语,所以我有一点难以理解它,你的答案是比文件更透明!再次感谢 – BPS1945 2010-12-12 13:35:22