ygo*_*goe 6 c# linux mono synchronization
在Windows/.NET上,可以使用命名的Mutex来同步多个进程.不幸的是,Mono并不完全支持Linux.他们的发行说明说Linux不支持这种Windows功能,并且模拟它是不可靠的.无论如何,最好避免建议的黑客攻击.
那么建议的替代品是什么?我需要让我的程序安全地同时运行,只需要将其中的一小部分与其他实例同步.
该应用程序最终需要部署在带有Mono 2.10的Ubuntu Linux上,但是对于测试,如果它也可以在带有.NET 4的Windows 7上运行,那将非常受欢迎.
更新:
尝试查看http://aakinshin.net/en/blog/dotnet/namedmutex-on-mono/
OLD:
Mono不支持任何Windows原生IPC.所以你没有例如命名管道或互斥锁.
但是要在同一进程中同步线程,您可以显式使用Monitor类(它也用于锁定).
要简单地通知另一个进程,您可以尝试使用Unix域套接字.
检查UnixEndPoint类.您可以为其指定名称的一个好处(例如,对于命名的信号量).
您也可以尝试使用自己的文件模拟互斥锁.尝试获取对特定自己文件的独占访问权限.虽然您有访问权限 - 但您处于关键部分.