我正在使用一个应用程序(C#服务),我需要一些功能,如下面的
Main()
{
App.A();
App.B();
}
App
{
static A()
{
While(true)
{
// Thread logic comes here
Thread.Sleep(60000)
}
}
static B()
{
While(true)
{
// Thread logic comes here
Thread.Sleep(1000)
}
}
}
如何在这种情况下继续运行这两种功能?建议我做任何替代方案。
提前致谢:-)
答案 0 :(得分:1)
您需要主题 / 任务或使用某种计时器。有很多方法可以做到这一点,但你真的需要了解你想做什么。
然而,这些可能会让你深思熟虑
免责声明,您应该在尝试之前研究这些方法,尤其是任务。
选项1
Task.Run(async () =>
{
while (true)
{
// do the work in the loop
await Task.Delay(60000);
}
});
选项2
DispatcherTimer _timer = new DispatcherTimer();
void DoWorkTimer()
{
_timer.Interval = TimeSpan.FromMilliseconds(200);
_timer.Tick += _timer_Tick;
_timer.IsEnabled = true;
}
void _timer_Tick(object sender, EventArgs e)
{
// do the work in the loop
}