C#中的跨进程锁定

Lan*_*don 16 c# multithreading locking

我编写了一个API,将在(1)Windows服务,(2)Web应用程序和(3)Windows窗体应用程序的同一个框中使用.他们都需要共享一小组常用数据(一些int,一个日期和一个字符串,我可以将其作为单个类的属性).

我可以使用什么样的锁定机制进行跨进程,以便三个进程可以安全地共享资源而不会遇到冲突?

请不要数据库,寻找不需要额外依赖性的解决方案.优选地,解决方案将以某种方式使用共享存储器或文件系统.

que*_*rin 18

对于C#/ .Net中的跨进程锁定,您可以使用命名系统Mutex.

  • @TBAG 我看到您在向 Stackoverflow 发送垃圾邮件,其中包含许多关于您遇到的“问题”的问题(以及对无关问题的评论)。互斥锁用于确保跨进程对共享资源的独占访问。它不是用于跨多个线程平等地调度工作或访问。您对互斥锁如何工作的理解 - “如果三个方法正在调用此构造函数,则所有方法都应按顺序调用或以某种循环方式调用。” - 不正确,这就是为什么你没有得到你期望的行为。 (2认同)