线程互斥,进程(不是线程)之间互斥的写日志文件的问题

进程(不是线程)之间互斥的写日志文件的问题 - 故障解答 - 电脑教程网

进程(不是线程)之间互斥的写日志文件的问题

日期:2006-10-10   荐:
进程(不是线程)之间互斥的写日志文件的问题public class Log{FileStream fs;StreamWriter sw;Mutex m;public Log(string path){//// TODO: 在此处添加构造函数逻辑//fs=new FileStream(path,FileMode.Append,FileAccess.Write,FileShare.Write);sw=new StreamWriter(fs);m = new Mutex(false, "MyMutex");}public void WriteLog(string format,string name){ m.WaitOne(); sw.WriteLine(format,list); sw.Flush(); m.ReleaseMutex();}}}启动两个进程利用log类写同一个文件,发现有的日志条目是不全的,觉得这个mutex不好用,这是为什么呢?有什么实现进程互斥的好办法呢?俺是c#初学者 谢谢public void WriteLog(string format,string name){ lock(this) { m.WaitOne(); sw.WriteLine(format,list); sw.Flush(); m.ReleaseMutex(); }}谢谢3tzjq,不过按3tzjq的方法试了,不行我的程序是单线程的,所以应该不存在lock的问题我只是想如果启动两个这样的进程,如何实现同步大家帮我看看 谢谢独占方式打开文件读写可以么?感觉好像不行。遇到过这种情况。没有解决。关注
标签: