ReentrantSemaphore.ReentrancyMode 枚举

定义

描述 ReentrantSemaphore 当信号量请求在信号量内的上下文中发出时,可能会表现出的行为。

public: enum class ReentrantSemaphore::ReentrancyMode
public enum ReentrantSemaphore.ReentrancyMode
type ReentrantSemaphore.ReentrancyMode = 
Public Enum ReentrantSemaphore.ReentrancyMode
继承
ReentrantSemaphore.ReentrancyMode

字段

Freeform 3

调用方发出的请求会立即执行,并与它的父级共享同一个信号槽。 仅当所有请求退出时才释放该槽,这可能是任意顺序。

NotAllowed 0

如果调用方已进入信号量 (并且尚未通过引发来退出) ,则拒绝所有请求 InvalidOperationException

NotRecognized 1

每个请求在信号量中占用一个唯一的槽。 如果重新进入级别超出了信号量的计数,则无法识别重新进入,并可能导致死锁。 这类似于类的行为 AsyncSemaphore

Stack 2

调用方发出的请求会立即执行,并与它的父级共享同一个信号槽。 此嵌套请求必须在其父级 (严格 LIFO/stack 行为) 之前退出。 如果在子级之前或之后退出信号量,则将导致 InvalidOperationException 从返回的发生错误 Task ExecuteAsync(Func<Task>, CancellationToken)

适用于