如何在创建的辅助线程结束其工作之前保证该函数返回值?

时间:2010-06-04 08:43:13

标签: objective-c multithreading

NSOperation *operation = /*some operation*/;
[operationQueue addOperation:operation];

// …
// Some work
// …

return Value;

我想在操作结束之前从函数中获取 Value

1 个答案:

答案 0 :(得分:0)

据我所知,你不能。
可能等待操作 >抢占 线程池任务有点无意义。
即使您在添加operation之前设法暂停/暂停队列,仍然需要恢复return之前,你无法在此时避免可能的上下文切换 如果返回的Value是可能被操作修改的共享var / global / field,则可以在<{em> {{1}之前将其当前值复制/克隆到tempvar / local 中稍后再返回。