我wan't阻止进程之间的一些代码,它主要是针对我的UWP应用程序,但因为它是一个跨平台的项目,这段代码也对Android应用程序执行:Xamarin的Android:Semaphore.TryOpenExisting不工作
if (!Semaphore.TryOpenExisting("some_name", out _semaphore))
_semaphore = new Semaphore(1, 1, "some_name");
其中_semaphore是:
private readonly Semaphore _semaphore;
所以,现在当Semaphore.TryOpenExisting
被调用时,我得到以下异常:System.NotSupportedException: Specified method is not supported.
。
但看着Xamarin Docs它看起来像Semaphore.TryOpenExisting
是简单的,我没有看到一些平台上不支持的信息?
我在做什么错了?我应该排除跨平台的Semaphore
课程吗?我如何在跨平台的场景中实现它?
你不能使用类似SemaphoreSlim任何理由吗?你需要做什么,这是不能实现的? – Cheesebaron
'SemaphoreSlim'是应用程序内部阻塞的本地信号量,不具备命名信号量的功能。我需要一个名为Semaphore的进程 –