我有一個處理線程用於填充數據緩衝區。在其他地方,一個硬件會觸發一個從該數據緩衝區讀取的回調。處理線程然後啓動並重新填充緩衝區。iOS線程等待操作
當緩衝區填滿我現在告訴線程通過等待:
while([self FreeWriteSpace] < mProcessBufferSize && InActive) {
[NSThread sleepForTimeInterval:.0001];
}
然而,當我的檔案I am收到了很多在睡眠中度過的CPU時間。有更好的方法等待嗎?我甚至在乎配置文件是否說時間花在了睡眠中?
考慮使用NSOperation來代替它,因爲它有一個可以指定的完成塊,所以當操作完成後,您可以獲取通知。 – logancautrell 2011-05-12 18:29:07