class1.cs

来自「原代码详细说明是关于c++方面的希望可以帮助大家使用」· CS 代码 · 共 56 行

CS
56
字号
using System;
using System.Threading;

class Test
{
	// Create a new Mutex. The creating thread does not own the
	// Mutex.
	private static Mutex mut = new Mutex();
	private const int numIterations = 1;
	private const int numThreads = 3;

	static void Main()
	{
		// Create the threads that will use the protected resource.
		for(int i = 0; i < numThreads; i++)
		{
			Thread myThread = new Thread(new ThreadStart(MyThreadProc));
			myThread.Name = String.Format("Thread{0}", i + 1);
			myThread.Start();
		}

		// The main thread exits, but the application continues to
		// run until all foreground threads have exited.
	}

	private static void MyThreadProc()
	{
		for(int i = 0; i < numIterations; i++)
		{
			UseResource();
		}
	}

	// This method represents a resource that must be synchronized
	// so that only one thread at a time can enter.
	private static void UseResource()
	{
		// Wait until it is safe to enter.
		mut.WaitOne();

		Console.WriteLine("{0} has entered the protected area", 
			Thread.CurrentThread.Name);

		// Place code to access non-reentrant resources here.

		// Simulate some work.
		Thread.Sleep(500);

		Console.WriteLine("{0} is leaving the protected area\r\n", 
			Thread.CurrentThread.Name);
         
		// Release the Mutex.
		mut.ReleaseMutex();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?