1
我正在使用Grand Central Dispatch將一個塊添加到隊列(而不是主隊列)。該塊有一個循環,並且在循環的每個通道之間需要0.02秒的小延遲。我正在使用iphone - 可以在Grand Central Dispatch的輔助線程上使用usleep嗎?
dispatch_async(myOwnQueue, ^{
// begin loop
// do stuff
usleep(20000);
// end loop
});
在此隊列上。因爲它不是主隊列,所以不會阻塞主線程。
的問題是,Xcode中抱怨:警告:函數「usleep」隱式聲明
有沒有其他辦法可以做到這一點?
謝謝。
不會dispatch_after是一個更好的解決方案嗎? – NSIntegerMax 2013-01-02 22:03:55
是的,忙等待不是答案。使用dispatch_after或NSTimer或dispatch_source計時器,但不要忙於在GCD線程上等待。當您提交給它的工作項目沒有被阻止時,GCD效果最佳。 – ipmcc 2013-08-19 13:45:46