一次只能访问一个函数!

3

你好,我有一个使用.NET 4编写的C# Windows窗体应用程序。在应用程序中,一个定时器事件调用一个函数,一切正常。然而,我已经更新了应用程序,使其成为单实例应用程序。当第二个实例被调用时,它会触发与第一个实例中定时器相同的函数。我认为当定时器调用函数时,第二个实例同时导致第一个实例进入相同的函数时会出现问题。这样说是否有意义?

那么,我该如何将对函数的调用排队,以便第二个进程等待第一个进程退出,并且如果它在X秒内无法访问,则返回错误?我是否应该在该函数内完成所有这些操作,该函数是静态函数?

如果这可能没有意义,即使对我来说也是如此!如果我在项目中有2个定时器并且两者都调用相同的静态函数,我该如何停止两者同时调用该函数并将它们排队!

我已经开始阅读关于Mutex的相关知识,但不确定如何使用它们以及它们是否会超出范围!?

谢谢


所以...在进程A中的代码正在调用进程B中的方法???我有点困惑。 - Lee Gunn
你能否发布一些代码展示进程之间如何通信? - Brian Gideon
嗨,Brian,它们之间没有通信,只是在更改之前它只是单线程的,但现在一个函数可以同时被调用。 - Adrian
1个回答

1
在函数中使用锁以确保独占访问。

嗨,洪,我应该把 private Object thisLock = new Object(); 放在函数、program.cs 还是主窗体中? - Adrian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接