C# 一次访问一个函数!

C# 一次访问一个函数!,c#,.net-4.0,mutex,C#,.net 4.0,Mutex,嗨 我有一个用.NET4编写的c#windows窗体。在应用程序中,计时器事件调用函数,一切正常。但是,我已经更新了应用程序,使其成为一个单实例应用程序,当调用第二个实例时,它会触发与第一个实例中计时器相同的功能。我认为当计时器调用了函数,而第二个实例导致第一个实例同时进入同一个函数时,我遇到了一个问题。这有意义吗 那么,如何对函数的调用进行排队,以便调用它的第二个进程等待第一个进程退出,如果它在X秒内没有获得访问权限,则返回一个错误?我是否在静态函数中执行所有这些操作 因为这可能没有意义,甚至

嗨 我有一个用.NET4编写的c#windows窗体。在应用程序中,计时器事件调用函数,一切正常。但是,我已经更新了应用程序,使其成为一个单实例应用程序,当调用第二个实例时,它会触发与第一个实例中计时器相同的功能。我认为当计时器调用了函数,而第二个实例导致第一个实例同时进入同一个函数时,我遇到了一个问题。这有意义吗

那么,如何对函数的调用进行排队,以便调用它的第二个进程等待第一个进程退出,如果它在X秒内没有获得访问权限,则返回一个错误?我是否在静态函数中执行所有这些操作

因为这可能没有意义,甚至对我来说!如果我在一个项目中有两个计时器,并且都调用同一个静态函数,我如何停止同时调用该函数并将它们排队

我已经开始阅读有关互斥的书籍,但不确定我将如何使用它们,以及它们是否超出范围


谢谢

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

那么…进程A中的代码正在调用进程B中的方法???Je Sui很困惑。你能发布代码说明进程之间是如何通信的吗?嗨,Brian,它们之间没有通信就在更改之前,它只是单线程的,但现在可以同时调用一个函数。嗨,Hong,我应该把私有对象thisLock=new Object()放在哪里;在function或program.cs中,还是在main form中?