我想确保在我的项目中相互排斥以安装更新。
该项目是多实例的,这意味着一个人可以打开一个实例而无需关闭其他打开的实例。有一个称为installUpdates()
安装可用更新的函数。由于存在多个实例,因此只有其中一个需要安装更新。我想确保只有一个实例会安装更新。
我正在将一个名为noOfInstances
(信号量)的全局变量初始化为0
. 一旦打开一个新实例,变量将增加 1。如果有 4 个打开的实例,则值为noOfInstances
4。一旦关闭实例,该值将减少 1。对于安装我正在写的更新:-
if(noOfInstances == 1)
{
InstallUpdates();
}
现在我的问题是如何以编程方式跟踪我的项目是否打开了一个实例?每个实例可能有一些我无法识别的唯一 ID。我正在使用 windows 环境来开发我的 c# 应用程序。