已清楚互斥锁的应用程序无法启动

已清楚互斥锁的应用程序无法启动,第1张

重新启动。

首先打开控制面板,或者直接ctrl+r输入servicesmsc打开本地服务。

然后找到WindowsModulesInstaller,(PS:快捷键直接按W就可以调到哪一行),点出属性那一栏。

然后点击手动——然后要把服务启动起来,这是最基础的。

static void Main()

{

bool bCreatedNew ;

Mutex m =new Mutex( true, "myUniqueName", out bCreatedNew );

if (bCreatedNew )

{

mReleaseMutex();

ApplicationEnableVisualStyles();

ApplicationSetCompatibleTextRenderingDefault(false);

ApplicationRun(new yourFormName());

}

else

{

MessageBoxShow("已经运行了一个实例了。");

}

}

首先你的代码应用出现了两个知识点

1、lock 加锁:它可以把一段代码定义为互斥段,互斥段在一个时刻内只允许“一个线程”进入执行,而其他线程必须等待。形成互斥 有效范围就是 {} 之间,当代码执行到 }之后 锁定就会解除。

2、函数的递归调用。test(i);

根据 两个技术点特性,可以可定你当i>10 的时候,会进行函数递归,但是不会出现死锁,因为:lock只会生效于多线程,对于单线程,自身已经是锁的所有者,并不会出现为了继续加锁等待原有锁释放。

以上就是关于已清楚互斥锁的应用程序无法启动全部的内容,包括:已清楚互斥锁的应用程序无法启动、C#用互斥的方法,让一个程序只能打开一个,为什么只能在debug的exe起作用,安装后的exe就不起作用了、c#互斥问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9339098.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存