ReentrantSemaphore.ReentrancyMode 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
描述 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) 。 |