Joh*_*lin 0 c# console task wait task-parallel-library
using System;
using System.Threading.Tasks;
namespace _1._8_Starting_A_New_Task
{
public static class Program
{
public static void Main()
{
Task t = new Task(() =>
{
for (int x = 0; x < 100; x++)
{
Console.Write('*');
}
});
t.Wait();
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为你永远不会开始Task.使用Task构造函数需要您调用Task.Start返回的任务.这就是为什么建议使用Task.Run,它返回一个"热门任务"(已启动的任务):
文件:
而不是调用此构造函数,实例化Task对象并启动任务的最常用方法是调用static
Task.Run(Action)或TaskFactory.StartNew(Action)method.此构造函数提供的唯一优势是它允许将对象实例化与任务调用分开.
所以代码应该是:
public static void Main()
{
Task t = Task.Run(() =>
{
for (int x = 0; x < 100; x++)
{
Console.Write('*');
}
});
t.Wait();
}
Run Code Online (Sandbox Code Playgroud)