C#console app - 运行任务连续循环

时间:2018-01-22 03:55:42

标签: c# multithreading console-application

我在控制台应用程序中使用while循环创建了多个任务 从数据库中选择并更新记录 我的程序只执行一次然后关闭窗口 如何保持控制台窗口打开,无限运行任务。

static void Main(string[] args)
{
    Task.Run(async () =>  // <- marked async
    {
        while (true)
        {
            InsertProcess(GameList.RO1);
            await Task.Delay(5000);
        }
    });
    Task.Run(async () =>  // <- marked async
    {
        while (true)
        {
            InsertProcess(GameList.ROS);
            await Task.Delay(5000);
        }
    });
}

public static void InsertProcess(Game game)
{
    using (SqlConnection conn = new SqlConnection(RO1DBConn))
    {
        // ... query database
    }
}

1 个答案:

答案 0 :(得分:4)

每个Task.Run都返回一个任务对象。您必须收集这些引用,并等待使用Task.WaitAll方法完成这两个任务。 WaitAll等待一系列任务记录。

number