我正在使用“backgroundworker”等待来自其他程序的信号输入。我发现这会降低我的系统性能。是否有任何编程技术可以帮助我等待来自其他程序或exe的信号?所以我不需要做一个线程等待有一个信号一直。我需要像委托事件这样的东西,其中有一些时间来自其他程序..然后我的功能将相应地触发。 或者是等待来自其他exe的消息或信号的任何技术?
答案 0 :(得分:0)
您可以使用命名的互斥锁进行跨进程同步。以下链接应该可以帮助您了解互斥锁和同步技术:
http://msdn.microsoft.com/en-us/library/system.threading.mutex(v=VS.100).aspx
http://www.albahari.com/threading/part2.aspx
Wanted: Cross-process synch that doesn't suffer from AbandonedMutexException
答案 1 :(得分:0)
如果您需要针对此跨程序甚至远程通信的强大解决方案,请考虑使用ActiveMQ或Microsoft MSMQ(非JMS)等JMS服务器。我个人更喜欢ActiveMQ。
ActiveMQ具有用于发布和订阅主题和队列的适配器。您可以使用http://activemq.apache.org/nms/通过C#连接。
答案 2 :(得分:0)