【问题标题】:Synchronize two .net application using threading [duplicate]使用线程同步两个.net应用程序[重复]
【发布时间】:2014-11-19 13:03:17
【问题描述】:

我有一些资源在各种 .net 应用程序之间共享。

如果一个应用正在使用该资源,那么其他应用应该等到第一个应用发布该资源。其他应用将有机会根据 cpu 调度随机占用该资源。

我试图为此使用互斥锁,但如果应用程序占用了互斥锁并异常终止,那么其他应用程序会出错。

请提出解决这种情况的设计。

【问题讨论】:

  • 对不起老兄,你得到了正确的方法,但完全没有调试。互斥锁被释放.....当您正确编程时。操作系统不是小学生写的。至少不是那部分。我建议你修复你的错误。
  • @TomTom,如果你能给我一些设计,那就太好了。我在许多网站上找到了代码,但我发现 waitOne 和 releasemutex 的实现很困难。如果任何一个锁放错了,就会出现死锁情况。
  • 没有通用设计 - 这是您可能必须逐步完成的事情之一。这取决于你在那里实际做了什么。我复制的链接解决了这个问题。我担心这里的设计建议过于广泛。这是一个问答网站,而不是“免费咨询”。针对您的问题的设计取决于很多确切的细节,并且可以很容易地成为 20 页的文档。

标签: c# .net multithreading mutex


【解决方案1】:

Mutex 是正确的使用方法。也许thisthis 可以帮助您解决应用程序异常终止持有互斥锁(谷歌放弃互斥锁)?

【讨论】:

  • 说得很好,很正确。
【解决方案2】:

Google 用于命名管道。我认为这对您来说是一种更安全的方法。

【讨论】:

  • 啊,是的。现在使用 RTFM 并了解操作系统级别的互斥锁。
  • 我不认为这是一个高质量的答案,因为您只是告诉原始发帖人去谷歌搜索。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 2017-05-10
相关资源
最近更新 更多