2010-03-31 42 views
7

Các documentation cho lớp .NET Semaphore khẳng định rằng:Thứ tự semaphore được đảm bảo?

Không có trật tự đảm bảo, chẳng hạn như FIFO hoặc LIFO, trong đó chặn đề nhập semaphore.

Trong trường hợp này, nếu tôi muốn một đơn đặt hàng được đảm bảo (FIFO hoặc LIFO), các tùy chọn của tôi là gì? Đây có phải là cái gì đó không dễ dàng? Tôi có phải viết Semaphore của riêng mình không? Tôi cho rằng nó sẽ khá tiên tiến?

Cảm ơn,

Steve

Trả lời

5

Xem this:

Các FifoSemaphore công trình chính xác như một bình thường Semaphore mà còn đảm bảo rằng thẻ được phục vụ ra acquirers theo thứ tự mà họ quản lý để có được khóa bên trong. Việc sử dụng FifoSemaphore giống hệt với số Semaphore.

Các vấn đề liên quan