Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Guaranteed semaphore order?

The documentation for the .NET Semaphore class states that:

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

In this case, if I want a guaranteed order (either FIFO or LIFO), what are my options? Is this something that just isn't easily possible? Would I have to write my own Semaphore? I assume that would be pretty advanced?

Thanks,

Steve

like image 432
Steve Whitfield Avatar asked Mar 31 '10 14:03

Steve Whitfield


1 Answers

See this:

The FifoSemaphore works exactly like a normal Semaphore but also guarantees that tokens are served out to acquirers in the order that they manage to acquire the internal lock. The usage of a FifoSemaphore is identical to a Semaphore.

like image 112
Anton Gogolev Avatar answered Sep 28 '22 04:09

Anton Gogolev