110,545
社区成员
发帖
与我相关
我的任务
分享
var thread = new Thread(() =>
{
// TODO:
Thread.Sleep(不同的时间值)
});
在某个方法或者事件中调用: thread.Start();
当然 这不是很好的方式。 static Dictionary<int, Task> allTask = new Dictionary<int, Task>();
static Random random = new Random();
static void Main(string[] args)
{
for (int i = 1; i < 4; i++)
{
int itemi = 0;
itemi = i;
lock (allTask)
{
allTask.Add(i, Task.Run(() =>
{
WalkStart(itemi);
}));
}
}
Console.Read();
}
static async void WalkStart(int itemi)
{
try
{
int time = random.Next(500, 700);
await Task.Delay(time);
start(itemi);
}
catch (Exception ex)
{
Console.WriteLine("错误:" + ex);
}
finally
{
allTask[itemi].ContinueWith(obj =>
{
WalkStart(itemi);
});
}
}
public static void start(int itemi)
{
Console.WriteLine(itemi+"走:"+DateTime.Now);
}
类似这样?