我有一个循环,迭代100万次对数据集进行一些计算。
为了显示这些计算的进度,我想定期在NSView中显示dataSet,比如每10,000次循环迭代,然后暂停1秒,这样我就可以看到dataSet以当前状态显示。
for(j=0; j<1000000; j++)
{
...do some calculations on dataSet
if(j%10000 == 0){
[myView display] //[myView drawRect:] will show current state of dataSet
}
... pause for a second to see the dataSet in myView
}
所以在这种情况下,我想要10次显示更新,大约每秒1次。
我已尝试过各种各样的方法,从使用NSTimers到[NSThread sleepForTimeInterval],但到目前为止,我只看到循环结束后视图已更新。
线程/用户界面是否被阻止无关紧要,因为它只是可视化我自己的计算。
答案 0 :(得分:1)
睡觉
usleep(useconds_t)
一秒的例子
usleep(1000000);