社区
Delphi
帖子详情
请教一下线程中延时3秒左右,用sleep(3000)可靠吗?
learning8899
2014-06-02 06:39:13
请教个问题,线程中延时,sleep会不会有大问题?
...全文
2226
7
打赏
收藏
请教一下线程中延时3秒左右,用sleep(3000)可靠吗?
请教个问题,线程中延时,sleep会不会有大问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iamduo
2014-06-04
打赏
举报
回复
引用 6 楼 warrially 的回复:
我都是 waitforsingle 空等3秒
个人感觉。 比 Sleep 精确。
爱蹄子的羊头
2014-06-03
打赏
举报
回复
我都是 waitforsingle 空等3秒
wintergoes
2014-06-03
打赏
举报
回复
很常用的,不会有问题
aniugee
2014-06-03
打赏
举报
回复
ATime:=Now; while True do begin if SecondsBetween(ATime,Now) > 3 then Break; Application.ProcessMessages; Sleep(10); end;
lyhoo163
2014-06-03
打赏
举报
回复
sleep(3000)理论上是程序在此等待3秒。但它受程序涉及的环境有密切关系,比如Sleep相邻的代码涉及到硬件的读写时,它就有麻烦了,似乎不听指挥。因为,涉及到硬件的读写时,有缓冲机制(硬件可能开启另一线程),造成空等待(无效)。
敌敌畏-
2014-06-02
打赏
举报
回复
可以自己写个delay
Frank.WU
2014-06-02
打赏
举报
回复
这个常用的吧???
【C语言】
Sleep
()函数----详解
文章介绍了C语言
中
的
sleep
函数,用于程序的
延时
功能,详细讲解了其基本语法和使用注意事项。通过实例展示了在while和for循环
中
如何使用
sleep
函数,以及它如何影响程序的执行效果。同时,提到了在不同操作系统
中
sleep
函数的实现差异。
C# 之 代码实现
延时
本文详细介绍了在C#
中
实现
延时
的多种方法,包括使用Task.Delay()进行异步
延时
,通过
线程
实现
延时
,以及利用计时器方式达到
延时
效果。文章提供了代码示例,展示了不同
延时
方法的实现过程和运行结果。
testChannel.StartACQ() 方法
中
的 Thread.
Sleep
(
3000
) 会阻塞调用它的
线程
,导致在遍历 TestChannelMap 的 foreach 循环
中
,每个通道的初始化
针对TestChannelMap遍历
中
StartACQ方法因Thread.
Sleep
阻塞导致的串行初始化问题,提出采用Parallel.ForEach实现并行化执行,结合状态轮询替代固定
延时
,通过
线程
池控制并发、锁机制保障硬件访问安全,显著提升多通道初始化效率。
Thread.
Sleep
(
3000
) 的目的是在调用 SetDAQ() 后等待一段时间,确保硬件设置完成后再启动 _ReadIC 和 _SaveIC 方法
本文针对硬编码阻塞式
延时
Thread.
Sleep
(
3000
)提出同步优化方案:采用状态轮询+可配置超时机制,在SetDAQ()调用后主动检测HardwareResult等硬件就绪信号,以100ms间隔轮询、3秒最大等待时限保障
可靠
性;规避了固定延迟不准、
线程
阻塞、维护性差等问题,完全保持同步语义,提升实时性与可维护性。
别再傻傻用
sleep
了!Qt开发
中
QTimer实现非阻塞
延时
的3个实战场景
本文详解Qt开发
中
禁用
sleep
进行GUI
延时
的原因,并重点介绍QTimer::singleShot()在异步状态轮询、渐进式UI反馈和复杂动画编排三大场景的应用;强调其非阻塞特性对维持事件循环流畅性的关键作用,涵盖生命周期管理、信号解耦、多
线程
安全及常见调试陷阱等核心技术要点。
Delphi
5,943
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章