C#操作多线程的问题,有5个线程同时执行,如何判断5个线程均已执行完毕,最好2.0的,别的也将就!
首先,我们new5个线程,并同时启动他们,每个线程中,我都需要操作耗时不相等的事情,然后,我需要等待5个线程都操作完成。再去操作接下去的事情。满意可加悬赏,欢迎留扣扣交流...
首先,我们new 5个线程,并同时启动他们,每个线程中,我都需要操作耗时不相等的事情,然后,我需要等待5个线程都操作完成。再去操作接下去的事情。满意可加悬赏,欢迎留扣扣交流技术。。
展开
1个回答
展开全部
这个需求有很多方法可以实现,给你一个最简单的方法的例子:
using System;
using System.Threading;
public class ThreadDemo
{
static void Main()
{
Console.WriteLine("Hello, I'm going to do some time-consuming work...");
for (int i = 0; i < 5; i++)
{
Thread t = new Thread(Work);
t.Start();
t.Join();
}
Console.WriteLine("I'm finished all works on my hand. You can do something else.");
// Some other works.
}
static void Work()
{
// Simulate time-consuming work
Thread.Sleep(1000);
Console.WriteLine("Working...");
}
}
输出:
Hello, I'm going to do some time-consuming work...
Working...
Working...
Working...
Working...
Working...
I'm finished all works on my hand. You can do something else.
你还可以通过信号量等机制实现线程同步, 具体可以自己Google
追问
不不不。不是这样的意思,我的意思是5个都先一起执行,也就是说,如上代码的话,应该是在1秒~2秒内同时输出5个
Working...
Working...
Working...
Working...
Working...
然后执行完成,而不是一个一个去执行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询