java Thread.sleep卡死问题

java Thread.sleep卡死问题,第1张

Thread.sleep(60*1000)这个代码的意义是:程序运行到这里后,挂起1分钟,然后1分钟后程序再进入到cpu的进程队列中排队等候执行。

也就是说,这个代码无法精确控制该进程在此处恰好停留1分钟。具体的等待时间=1分钟+在衫历排队进程中的等候时间。

你也说了这个是一个偶发问题,也就是说在特殊情况下,该进程在队列中排列的时间过长导致了等待时间很长。不樱帆过考虑到cpu的时间片大小,你等待了120秒还卡在那或颂搜里的情况比较少见,可能是电脑优化不好,cpu比较老旧,开的进程特别多,导致电脑比较卡。

当然了,你都让程序睡着了还想干嘛

可以用个空循环,然后在循环里用Application.ProcessMessage来睁如响应消息。当然必须保证这个循环不悉埋启会成为死循环。

或者用线程

根据你的具体需要来定。

反正液山我觉得SLEEP足足30秒,肯定是设计有问题的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12242134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存