我正在编写一个C#软件,它有一些功能,可以在5秒内在我的服务器5上签到(他们发送http请求,但对我的问题无关紧要).这是代码:
log(); while (true) { alive(); // this sends an http request to my server Thread.Sleep(5000); // sleep for 5 seconds avoiding computer overcharge } MessageBox.Show("after infinite loop"); // this is never executed but i pretend to do so
所以,我的问题是:我得到了一个无限循环,在那个无限循环之后我想写另一个无限循环,它以异步方式运行并且每100毫秒执行一次.当然"那个东西"我不能在现有的循环中写它,因为该循环在5秒内执行5.我需要编写很多像这样的无限循环,每个循环都是以不同的时间独立于另一个(或异步)执行的.
我搜索了很多,我的结论是异步编写每个循环.我的问题是:怎么做?我找到的每个代码对我来说都是完全不可理解的.我根本无法理解他们.所以,如果你有比async无限循环更好的选择(我认为这是最好的选择),你可以谈论它,否则我需要一些帮助编码这个异步无限循环...
抱歉我的英语不好,提前谢谢
var loop1Task = Task.Run(async () => { while (true) { await Task.Delay(5000); } }); var loop2Task = Task.Run(async () => { while (true) { await Task.Delay(100); } });
现在你有两个循环.您可以向他们添加代码.