C#操作多线程的问题,有5个线程同时执行,如何判断5个线程均已执行完毕,最好2.0的,别的也将就!

首先,我们new5个线程,并同时启动他们,每个线程中,我都需要操作耗时不相等的事情,然后,我需要等待5个线程都操作完成。再去操作接下去的事情。满意可加悬赏,欢迎留扣扣交流... 首先,我们new 5个线程,并同时启动他们,每个线程中,我都需要操作耗时不相等的事情,然后,我需要等待5个线程都操作完成。再去操作接下去的事情。满意可加悬赏,欢迎留扣扣交流技术。。 展开
 我来答
百度网友8d17b9d
推荐于2016-02-28 · TA获得超过280个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:179万
展开全部

这个需求有很多方法可以实现,给你一个最简单的方法的例子:

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...
然后执行完成,而不是一个一个去执行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式