.net - .NET Compact Framework中的信号灯

标签 .net multithreading compact-framework semaphore

不幸的是,使用.NET Compact Framework时,System.Threading中没有信号灯。
我不确定为什么会这样,有人有想法吗?

谷歌搜索之后,我发现有一堆人给出了自己的实现,但是没有一个人能真正发挥出色……或根本没有!

所以我来问专家...

是否有人可以为.NET Compact推荐良好的信号灯类/库?
框架?

要么

有什么我可以模仿的行为吗?

我有一个典型的生产者/消费者设置,其中线程将对象推送到队列(System.Collections)。
然后,我希望使用者线程将对象从队列中拉出并开始工作,但显然仅当队列中有需要处理的东西时才这样做!

我正在使用C#工作,但是只要可以在.NET CF上实现,我就可以使用任何语言的解决方案/伪方法。

最佳答案

您只需PInvoke到CreateSemaphore和ReleaseSemaphore-它们是在CE中的coredll中实现的。很容易编写一个类似于System.Threading.Semaphore的托管包装。

关于.net - .NET Compact Framework中的信号灯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1746923/

相关文章:

.net - 在 XAML 中导入命名空间时会发生什么?

c# - MVC 5 自定义 AuthorizeAttribute

java - 执行器 corepoolsize 为零,且 LinkedBlockingQueue 有限

java - ExecutorService线程安全

c# - 如何关闭一个窗体并打开一个新窗体?

c# - 在 C++/CLI 中包装非托管 C++ 模板以供 C#/.NET 使用

c# - TextBoxFor() 不生成验证标记

c# - C#锁构造误区(附msdn代码示例)

c# - 网络连接仅在设备通过电缆连接时有效

.net - 如何在自定义 CF 控件中覆盖 Ambient BackColor