具有优先级的信号量

发布于 2024-09-13 10:14:22 字数 116 浏览 11 评论 0原文

我知道 System.Threading 命名空间中的 Semaphore 类,但我不知道它是否允许等待线程具有不同的优先级。

如果两个线程正在等待一个空位,有没有办法让优先级较高的线程拥有第一个空位?

I know about the Semaphore class in the System.Threading namespace, but I don't see if it allows waiting threads to have different priorities levels.

If two threads are waiting for an open slot, is there a way to allow the thread with the higher priority to have the first open slot available?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九公里浅绿 2024-09-20 10:14:23

来自 Semaphore 类的 MSDN 文档

没有保证订单,例如
先进先出 (FIFO) 或后进先出 (LIFO),其中阻塞线程
输入信号量。

但是看看这两个项目,它们都支持线程优先级。

智能线程池

C# 中的线程安全优先级队列

From the MSDN documentantion on the Semaphore class

There is no guaranteed order, such as
FIFO or LIFO, in which blocked threads
enter the semaphore.

But take a look at these two projects which both supports priority for threads.

Smart Thread Pool

Thread-safe priority queue in C#

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文