请问在Window Service程序中启用的线程中使用Mutex会生效吗?我的问题是这样的,我有个winform程序,里面启动了两个线程,一个是数据发送(socket),一个是接收的,为了访问文件的互斥,我使用了mutex,这时候发送和接收文件正常,不会丢包。
但是我现在将他修改成了window Service程序,结构一样,但是出现数据丢包现象?请问高手们是怎么回事?是不是mutex的问题,还是其他的?请指教,谢谢。
但是我现在将他修改成了window Service程序,结构一样,但是出现数据丢包现象?请问高手们是怎么回事?是不是mutex的问题,还是其他的?请指教,谢谢。
{
Mutex m_A = new Mutex(false,"WWW");
m_A.WaitOne();
DoA(操作文件F);
m_A.RelaseMutex();
}ClassB
{
Mutex m_B = new Mutex(false,"WWW");
m_B.WaitOne(操作文件F);
DoB();
m_B.RelaseMutex();
}请问以上能生效吗?当ClassA操作文件F的时候B就会等待吗?请指教。谢谢。
一个线程放Mutex的时候(用ReleaseMutex)它在机制上并不能保证另一个线程优先与自己得到Mutex用Monitor处理.
Monitor.Enter(this);
Monitor.Pulse(this);
在这里处理可能冲突数据
Monitor.Exit(this);