C# 多线程的等待所有线程结束 用 ManualResetEvent 控制
2024-10-14 16:06:38
using System;
using System.Collections.Generic;
using System.Threading; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var waits = new List<EventWaitHandle>();
for (int i = 0; i < 10; i++)
{
var handler = new ManualResetEvent(false);
waits.Add(handler);
new Thread(new ParameterizedThreadStart(Print))
{
Name = "thread" + i.ToString()
}.Start(new Tuple<string, EventWaitHandle>("test print:" + i, handler));
}
WaitHandle.WaitAll(waits.ToArray());
Console.WriteLine("Completed!");
Console.Read(); } private static void Print(object param)
{
var p = (Tuple<string, EventWaitHandle>)param;
Console.WriteLine(Thread.CurrentThread.Name + ": Begin!");
Console.WriteLine(Thread.CurrentThread.Name + ": Print" + p.Item1);
Thread.Sleep(300);
Console.WriteLine(Thread.CurrentThread.Name + ": End!");
p.Item2.Set();
} }
}
最新文章
- 配置IIS的通配符应用程序映射
- 深入理解js构造函数
- (斐波那契总结)Write a method to generate the nth Fibonacci number (CC150 8.1)
- Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法
- php接收到的json格式不标准,某个字段中的文本包含双引号的处理
- cp: omitting directory”错误
- 基于.Net FrameWork的 RestFul Service
- Java Mail发送简单邮件,完整代码
- 201521123107 《Java程序设计》第4周学习总结
- sql语句——根据身份证号判断男女
- Infiniband 网络性能测试
- 腾讯面试题,js处理1千万条数据排序并且页面不卡顿
- logstash同步mysql数据失败
- java实现数据缓存
- BZOJ3499 : PA2009 Quasi-template
- 【Odoo 8开发教程】第二章:Odoo生产环境部署设置
- falsk 与 django 钩子方法
- P3317 [SDOI2014]重建(Matrix-tree+期望)
- Dubbo -- 系统学习 笔记 -- 示例 -- 泛化引用
- windows 安装操作系统时切换分区表格式