📄 class1.cs
字号:
using System;
using System.Threading;
namespace MutexTest
{
class Database
{
Mutex mutex = new Mutex(false);
public void SaveData(string text)
{
mutex.WaitOne();
Console.WriteLine("Database.SaveData - started");
Console.WriteLine("Database.SaveData - working ");
for (int i=0; i<100; i++)
{
Console.Write(text);
}
Console.WriteLine("\nDatabase.SaveData - Ended");
mutex.Close();
}
}
class ThreadMonitorAppl
{
public static Database db = new Database();
public static void WorkerThreadMethod1()
{
Console.WriteLine("Worker thread #1 - started");
Console.WriteLine("Worker thread #1 -Calling Database.SaveData");
db.SaveData("x");
Console.WriteLine("Worker thread #1 returned");
}
public static void WorkerThreadMethod2()
{
Console.WriteLine("Worker thread #2 - started");
Console.WriteLine("Worker thread #2 - Calling Database.SaveData");
db.SaveData("o");
Console.WriteLine("Worker thread #2 - Returned");
}
public static void Main()
{
ThreadStart worker1 = new ThreadStart(WorkerThreadMethod1);
ThreadStart worker2 = new ThreadStart(WorkerThreadMethod2);
Console.WriteLine("Main - Creat");
Thread t1 = new Thread(worker1);
Thread t2 = new Thread(worker2);
t1.Start();
t2.Start();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -