我有一个处理线程用于填充数据缓冲区。在其他地方,一个硬件会触发一个从该数据缓冲区读取的回调。处理线程然后启动并重新填充缓冲区。iOS线程等待操作
当缓冲区填满我现在告诉线程通过等待:
while([self FreeWriteSpace] < mProcessBufferSize && InActive) {
[NSThread sleepForTimeInterval:.0001];
}
然而,当我的档案I am收到了很多在睡眠中度过的CPU时间。有更好的方法等待吗?我甚至在乎配置文件是否说时间花在了睡眠中?
考虑使用NSOperation来代替它,因为它有一个可以指定的完成块,所以当操作完成后,您可以获取通知。 – logancautrell 2011-05-12 18:29:07