我对Objective c多线程方法有疑问。
[self performSelectorOnMainThread:@selector(displayThread2Counts:)
withObject:myNumber
waitUntilDone:NO];
参数“waitUntilDone”的含义是什么?
waitUntilDone:YES
和waitUntilDone:NO
之间的区别是什么?
答案 0 :(得分:3)
documentation非常透明:
一个布尔值,指定是否 当前线程阻塞直到之后 指定的选择器是在 接收器在主线程上。指定 是以阻止此线程;除此以外, 指定NO以使此方法返回 立即
换句话说,如果为waitUntilDone参数指定YES,则在请求的选择器完成其工作之前,当前线程上不会执行任何其他操作。
然而,作为必然结果,如果你只使用一个线程(主线程),则指定YES没有任何价值,因为你所做的只是调用所请求的选择器,就像在非线程环境中那样