有谁知道为什么WaitHandle的方法
public static bool SignalAndWait(WaitHandle toSignal, WaitHandle toWaitOn, TimeSpan timeout, bool exitContext)
在Linux上抛出PlatformNotSupportedException?
同样有助于了解是否存在任何类似情况(除了后续两次调用toSignal.Set
+ toWaitOn.WaitOne
)。
答案 0 :(得分:1)
让我们看一下源代码here:
throw new PlatformNotSupportedException(SR.Arg_PlatformNotSupported); // https://github.com/dotnet/coreclr/issues/10441
它链接的问题是coreclr #10441。这包含一些见解:
我们认为这可以在Unix上实现,但由于API存在缺陷且使用率极低,因此它的优先级较低。
我们......确定当时不值得做。
我希望它很少使用
所以看起来开发人员给它一个低优先级(因为他们认为这是一个糟糕的API并且使用率很低)并且没有实现它。如果你在coreclr中提交了一个错误,那就会向他们提供使用数据,并可能说服他们这个API值得完全实现。