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