Share via


CriticalRegionType Enumeration

The type of critical region a context is inside.

enum CriticalRegionType;

Members

Values

Name

Description

InsideCriticalRegion

Indicates that the context is inside a critical region. When inside a critical region, asynchronous suspensions are hidden from the scheduler. Should such a suspension happen, the Resource Manager will wait for the thread to become runnable and simply resume it instead of invoking the scheduler again. Any locks taken inside such a region must be taken with extreme care.

InsideHyperCriticalRegion

Indicates that the context is inside a hyper-critical region. When inside a hyper-critical region, both synchronous and asynchronous suspensions are hidden from the scheduler. Should such a suspension or blocking happen, the resource manager will wait for the thread to become runnable and simply resume it instead of invoking the scheduler again. Locks taken inside such a region must never be shared with code running outside such a region. Doing so will cause unpredictable deadlock.

OutsideCriticalRegion

Indicates that the context is outside any critical region.

Requirements

Header: concrtrm.h

Namespace: concurrency

See Also

Reference

concurrency Namespace

IUMSThreadProxy Structure