代码系从某论坛上黏贴下来,忘记出处,致歉。。
using System;
using System.Threading;
using System.IO;
public class Class1
{
private static Mutex mut = new Mutex();
public static void Main()
{
Console.WriteLine("请输入启动的线程数: ");
int tc = Convert.ToInt32(Console.ReadLine());
Thread[] thread = new Thread[tc];
for (int i = 0; i < tc; i++)
{
thread[i] = new Thread(new ThreadStart(WriteLog));
thread[i].Name = "Thread " + i.ToString();
}
for (int i = 0; i < tc; i++)
{
thread[i].Start();
}
RL();
}
private static void WriteLog()
{
for (int i = 0; i < 10; i++)
{
mut.WaitOne();
using (StreamWriter writer = new StreamWriter("c://tlog.txt ", true, System.Text.Encoding.UTF8))
{
string txt = Thread.CurrentThread.Name + " write: " + DateTime.Now.ToString();
writer.WriteLine(txt);
writer.Close();
Console.WriteLine(txt);
}
mut.ReleaseMutex();
}
}
private static void RL()
{
Console.ReadLine();
}
}
分享到:
相关推荐
这是一段小代码, 主要是演示如何利用Mutex来限制一个程序二次运行。
游戏外挂 多开用的上 mutex 互斥体 game dll
使用Mutex对象实现多线程同步,打印输出结果,对比非同步情况下的输出结果,对比明显,更容易理解Mutex对象实际意义。
c++11多线程库中互斥库模块的使用方式,介绍了mutex类和time_mutex类的使用方式
图文并茂Mutex性能问题解析,理解Mutex的机制,对于理解共享池的争用,意义巨大
mutex在线程中的使用 简单操作 全局变量 在vs2008 c++
C# 使用Mutex和AutoResetEvent类处理多线程同步与互斥,调试并完善了网上文档的代码。经测试能很好地实现要求,但还有一些地方不是特别明白,都写在注释中了,请高手给予指点。
mutex和semaphore互斥程序实例
windows多用户多session下使用Mutex进行同步控制,程序为MFC Dialog程序,VS2010下编译。windows 2012下测试。
本文实例讲述了C#使用Mutex简单实现程序单实例运行的方法。分享给大家供大家参考。具体如下: [STAThread] static void Main() { bool isAppRunning = false; System.Threading.Mutex mutex = new System....
c++ vs2008 应用程序只有一个实例 简单的demo 启动程序
LinuxC线程同步Mutex实例,让你一目了然
一个关于互斥量使用的简单实例,主要使用CreateMutex, ReleaseMutex等。
使用互斥对象(Mutex)实现线程同步。MFC工程
利用mutex互斥变量实现线程同步机制,并输出循环1000000次所用的时间
linux mutex锁的使用demo,适合新手学习。
To be noticed, wai() will unlock mutex and will continue when the relevant mutex be unlocked. Signal() will not release the mutex which means it will go ahead without waiting for anything.
利用mutex object编写的多线程运用程序, 可以直接运行,可以手动改变线程优先级, 很直观。
同步 ОС/EA/MT 过程等等。现在不需要任何自制的 DLL。