我正在学习基于任务异步编程的IT技术,但是无法让这段代码正常运行。控制台只打印了一次消息就消失了。
如果我删除读取行并运行程序(非调试模式),控制台只会出现一个消息,提示按任意键继续。当我进行调试并将调试器放在console.write上时,它可以正常工作一段时间,然后控制台窗口会消失并重新启动。如果我使用for循环<10000而不是while,则行为也相同。
请问您能否建议我哪里出错了。
static void Main(string[] args)
{
multitasker();
}
static async void multitasker()
{
Task task1 = new Task(PrintMessageA);
task1.Start();
await task1;
}
static void PrintMessageA()
{
while(true)
{
Console.WriteLine("Message from A");
Console.ReadLine();
}
}