Гарантированный заказ семафора? - PullRequest
8 голосов
/ 31 марта 2010

Документация для класса .NET Semaphore гласит:

Не существует гарантированного порядка, такого как FIFO или LIFO, в котором заблокированные потоки входят в семафор.

В этом случае, если я хочу гарантированный заказ (FIFO или LIFO), каковы мои варианты? Это просто невозможно? Должен ли я написать свой собственный семафор? Я полагаю, это было бы довольно продвинутым?

Спасибо

Steve

1 Ответ

6 голосов
/ 31 марта 2010

См. это :

FifoSemaphore работает точно так же, как обычный Semaphore, но также гарантирует, что токены раздаются получателям в том порядке, в котором им удается получить внутренний замок. Использование FifoSemaphore идентично Semaphore.

...