using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApp中task的状态
{
class Program
{
private static void Method(int i)
{
i =i *1000;
Thread.Sleep(i);
Console.WriteLine($"线程是{Thread.CurrentThread.ManagedThreadId},Method中延时了{i}秒");
}
static void Main(string[] args)
{
// Action<int> action = new Action<int>(Method);
Task task1 = new Task(() => Method(3));
Console.WriteLine($"task1的状态是{task1.Status.ToString()}");
task1.Start();
Console.WriteLine($"task1的状态是{task1.Status.ToString()}");
Thread.Sleep(500);
Console.WriteLine("主线程延迟500ms");
Console.WriteLine($"task1的状态是{task1.Status.ToString()}");
Thread.Sleep(5000);
Console.WriteLine("主线程延迟5s");
Console.WriteLine($"task1的状态是{task1.Status.ToString()}");
task1.Start(); //这里会报错
Console.ReadKey();
}
}
}
此时如何再次启动task1???
task完成了无法重启,重新建立一个。或者直接在task中while(true)一直运行