QT的阻塞与非阻塞延时

本文介绍了在Qt环境下实现非阻塞和阻塞延时的两种方法。非阻塞方法通过循环和事件处理来达到延时效果,而阻塞方法则通过不断检查当前时间和起始时间的时间差来实现。这两种方法可以用于需要定时操作的应用场景。

非阻塞延时:

void GreenPass3::delaymsec(int msec) {     QTime dieTime = QTime::currentTime().addMSecs(msec);

    while( QTime::currentTime() < dieTime )

    QCoreApplication::processEvents(QEventLoop::AllEvents, 100); }

 

 

阻塞延时:

void GreenPass3::delaymsec(int msec) {

    QTime n=QTime::currentTime();

    QTime now;     do{       now=QTime::currentTime();     }while (n.msecsTo(now)<=msec);

}

转载于:https://www.cnblogs.com/luxiaolai/p/5063402.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值