111,126
社区成员
发帖
与我相关
我的任务
分享
static object obj = new object();//新建个静态对象
private static void MyThreadProc()
{
lock(obj)//线程执行该方法时锁定对象,如果有其他线程要访问该对象必须等该对象被释放以后
{
mut.WaitOne();
Interlocked.Increment(ref poolFlag);
Console.WriteLine("{0} has entered the protected area, poolFlag is {1}",
Thread.CurrentThread.Name, poolFlag);
mut.ReleaseMutex();// Release the Mutex.
Thread.Sleep(1000);
Interlocked.Decrement(ref poolFlag);
Console.WriteLine("{0} is leaving the protected area, poolFlag is {1}",
Thread.CurrentThread.Name, poolFlag);
Console.ReadLine();
}
}