b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

releasemutex_catch releasemutex_mutex线程同步

电脑杂谈  发布时间:2017-01-01 21:03:18  来源:网络整理

Mutexm=newMutex(true,mutextName);

这里必须改为

C#code

Mutexm=newMutex(false,mutextName);

你是2个不同应用程序域之间同步,因此这里不能指定为true。releasemutex详细解释请看MSDN。

谢谢。你给的代码没有错。

但是原因不是这样。

后来找了资料,我的理解是这样:

Mutex支持递归获取。

第一次运行程序

执行:Mutexm=newMutex(true,mutextName);

主调线程获取了一次锁。releasemutex

调用WaitOne又获取了一次锁。

所以需要调用ReleaseMutex两次。

第二次运行:

mutex线程同步_catch releasemutex_releasemutex

调用:Mutexm=newMutex(true,mutextName);

因为Mutex的内核对象已经存在,没有获取锁。

调用WaitOne获取了锁。

[code=C#]

///<summary>

///Themainentrypointfortheapplication.

///</summary>

[STAThread]

staticvoidMain()

{

try

{

conststringmutextName="wwhhhwlllllll77777777ll9999llllw";

Mutexm=newMutex(true,mutextName);

boolb=m.WaitOne(TimeSpan.Zero,true);

releasemutex_catch releasemutex_mutex线程同步

MessageBox.Show(b.ToString());//True

m.ReleaseMutex();

m.ReleaseMutex();

MutexmNew=newMutex(true,mutextName);

boolbNew=mNew.WaitOne(TimeSpan.Zero,true);

MessageBox.Show(bNew.ToString());//True

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

//Application.Run(newForm1());

}

catch(Exceptione)

{

MessageBox.Show(e.Message);

}

}

[Code]


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-24253-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 郭敬明
        郭敬明

        美国还没有把最新的伯克级派过来

      • 边俊诚
        边俊诚

        马大哈又开始扯淡了

      • 罗亚丽
        罗亚丽

        然后是回扣

      热点图片
      拼命载入中...