近来在学习Eugene Agafonov编写的《C#多线程编程实战》(译),做些笔记也顺便分享一下^-^
using System;
using System.Threading;
namespace ManualResetEventSlim_Test
{
class Program
{
static void Main(string[] args)
{
var t1 = new Thread(() => TravelThroughGates("Thread1", 5));
var t2 = new Thread(() => TravelThroughGates("Thread2", 6));
var t3 = new Thread(() => TravelThroughGates("Thread3", 12));
t1.Start();
t2.Start();
t3.Start();
Thread.Sleep(TimeSpan.FromSeconds(6));
Console.WriteLine("The gates are now open!");
_mainEvent.Set();
Thread.Sleep(TimeSpan.FromSeconds(2));
_mainEvent.Reset();
Console.WriteLine("The gates have been closed!");