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秒循环一次。的主要内容,如果未能解决你的问题,请参考以下文章

python循环控制间隔。

Java编程里面死循环推荐使用吗?

怎么用jQuery实现轮流间隔几秒循环显示?!

while 循环

css3循环动画在第一次执行的时候可以设置多少秒之后开始执行,但到了下一次开始执行的间隔时间怎么设置?

创建一个循环之间有一秒间隔的循环[处理代码中的异常]