摘要: 关于sleep函数,我们先来看一下他的作用:sleep函数是使调用sleep函数的线程休眠,线程主动放弃时间片。当经过指定的时间间隔后,再启动线程,继续执行代码。sleep函数并不能起到定时的作用,主要作用是延时。在一些多线程中可能会看到sleep(0);其主要目的是让出时间片。sleep函数的精度非常低,当系统越繁忙的时候它精度也就越低,有时候我们休眠1秒,可能3秒后才能继续执行。它的精度取决于线程自身优先级、其他线程的优先级,以及线程的数量等因素,所以说sleep函数是不能用来精确计时的。Qt为我们提供了几个可以用于线程Sleep的函数,分别是:void QThread::sleep ( 阅读全文
posted @ 2011-05-18 21:58 SpringMVC+Hibernate 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 我们在编写Qt程序时经常会遇到这样的需求: 让程序等待一段时间, 这段时间里可能程序什么都不做, 也可能是在后台开了个子线程在做一些用户看不见的工作。首先我们容易想到的方法是使用类似linux提供的”sleep”或”usleep”函数。 但用过这组函数的Qter都知道, 这组函数会将你当前的线程/进程变为“睡眠”状态。 这个“睡眠”是深度意义的睡眠, 睡眠期间内核不会分配给程序时间片, 所以程序什么都不做, 更不用提界面的刷新了。 直接导致的问题就是用户无法与程序交互。 所以说直接使用sleep函数睡眠是常见的错误方案之一。另外一种更常见的错误方法是使用QTimer+死循环。 类似下面的代码: 阅读全文
posted @ 2011-05-18 21:56 SpringMVC+Hibernate 阅读(276) 评论(0) 推荐(0) 编辑
友情链接:厦门事业单位