C# 要想给一个死循环设置循环时间间隔,每5秒循环一次。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 要想给一个死循环设置循环时间间隔,每5秒循环一次。相关的知识,希望对你有一定的参考价值。
要想在botton1的click事件中编写这样一个功能的程序:应用程序运行后,点击按钮后,执行死循环while。循环中的函数CheckIfFtpFileExists()和 Tsystem()已经在程序在设计好了,现在想设置一个循环间隔,每5秒钟执行一次循环,程序该如何补充呢?
.Net 2.0版本代码如下:(3.5或以上可以考虑使用Task)
private Thread thread;private void button1_Click(object sender, EventArgs e)
if (thread != null)
thread = new Thread(new ThreadStart(Loop));
thread.Start();
else
MessageBox.Show("轮检已启动。");
private void Loop()
while (true)
if (CheckIfFtpFileExists() == true)
Tsystem();
追问
我尝试了您的代码之后,运行按钮后一直跳出"轮检已启动“消息框。thread如何才不为空。
追答抱歉写错了,另外忘了加上Thread.Sleep了,修改如下:
private Thread thread;private void button1_Click(object sender, EventArgs e)
if (thread == null)
thread = new Thread(new ThreadStart(Loop));
thread.Start();
MessageBox.Show("成功启动轮检。");
else
MessageBox.Show("启动轮检失败,轮检已开始。");
private void Loop()
while (true)
if (CheckIfFtpFileExists() == true)
Tsystem();
Thread.Sleep(5000);
追问
还是不行啊,远程帮忙下好吗?598234114
追答......OK
参考技术A 一二楼都可以,如果想在循环的过程中不出现假死的情况推荐用多线程 参考技术B 不是有Timer控件嘛 用来控制时间的 参考技术C 在while里面加上 Thread.Sleep(5000);如何每 20 秒执行一次 bash 脚本? ,好用睡眠和循环?
【中文标题】如何每 20 秒执行一次 bash 脚本? ,好用睡眠和循环?【英文标题】:how to execute a bash script every 20 seconds? , good use sleep and a loop? 【发布时间】:2021-06-27 13:55:18 【问题描述】:我现在在 cron 中每分钟运行一个脚本,我想让它每 20 秒运行一次
另一方面,服务器管理器(脚本在由其他人管理的远程机器中)抱怨 crons 运行时间经常超过 5 ~ 10 分钟
我该如何编程?
我应该为每个循环使用 while true 循环和 sleep 20 吗?
【问题讨论】:
这是一个与服务器资源有关的问题,与编程无关。最好将其发送至serverfault.com 或相关服务器的管理员处。 【参考方案1】:我认为你循环和睡眠的想法是正确的方法。
您可以在每次系统启动时(从 cron)在后台启动脚本,并使用使用 @reboot
的条目:
@reboot /path/to/script argument1 argument2
确保将输出写入文件,而不是 STDOUT。
您可以使用nohup
测试您的脚本而无需重新启动系统:
$ nohup /path/to/script argument1 argument2 &
【讨论】:
【参考方案2】:像这样通过 cron 运行它:
* * * * * /path/to/script
* * * * * sleep 20 && /path/to/script
* * * * * sleep 40 && /path/to/script
【讨论】:
以上是关于C# 要想给一个死循环设置循环时间间隔,每5秒循环一次。的主要内容,如果未能解决你的问题,请参考以下文章