我有几个进程写入同一个日志文件。我该如何同步它们?我的应用程序是用c#编写的Web应用程序。
答案 0 :(得分:4)
我要么让他们登录不同的日志文件,要么开始使用代理进程将消息记录到文件中以进行各种日志记录过程,这样,你只需要将消息发送到日志记录过程并且不是' t绑定到I / O请求,否则它们也是如此。
或者您可以在文件上使用共享互斥锁。
答案 1 :(得分:0)
查看命名的信号量。我认为他们应该跨流程工作。
System.Threading.Semaphore sem = new System.Threading.Semaphore(0, 1, "FileWriter");
while (sem.WaitOne())
{
// Do work
sem.Release();
}