【发布时间】:2014-10-03 03:27:39
【问题描述】:
我是这个论坛的新手,请耐心等待我的第一篇文章。我正在开发一个从 VB6 迁移的 .Net 应用程序,它使用同一类的多个实例进行多处理。但是 .Net 中的一个文件操作比 vb6 花费的时间更长,这在 .Net 中引起了问题,因为侦听器用于监视它。我想知道是否可以使用互斥锁来锁定此方法(具有文件操作),以便没有其他实例将执行此代码。代码如下。
Main()
{
FileWriter objA = new FileWriter()
FileWriter objB = new FileWriter()
...
objA.CreatePDFFile()
objB.CreatePDFFile()
...
}
Class FileWriter
{
bool CreatePDFFile()
{
using ( Mutex mutx = new Mutex( false, @"Global\" + appGuid)
{
mutx.WaitOne();
....//File operations code over here
mutx.ReleaseMutex()
}
}
}
如果上述方法可行,请告诉我。
【问题讨论】:
标签: .net locking mutex multiple-instances