Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

IUMSThreadProxy Structure

An abstraction for a thread of execution. If you want your scheduler to be granted user-mode schedulable (UMS) threads, set the value for the scheduler policy element SchedulerKind to UmsThreadDefault, and implement the IUMSScheduler interface. UMS threads are only supported on 64-bit operating systems with version Windows 7 and higher.

struct IUMSThreadProxy : public IThreadProxy;

Public Methods

Name

Description

IUMSThreadProxy::EnterCriticalRegion Method

Called in order to enter a critical region. When inside a critical region, the scheduler will not observe asynchronous blocking operations that happen during the region. This means that the scheduler will not be reentered for page faults, thread suspensions, kernel asynchronous procedure calls (APCs), etc., for a UMS thread.

IUMSThreadProxy::EnterHyperCriticalRegion Method

Called in order to enter a hyper-critical region. When inside a hyper-critical region, the scheduler will not observe any blocking operations that happen during the region. This means the scheduler will not be reentered for blocking function calls, lock acquisition attempts which block, page faults, thread suspensions, kernel asynchronous procedure calls (APCs), etc., for a UMS thread.

IUMSThreadProxy::ExitCriticalRegion Method

Called in order to exit a critical region.

IUMSThreadProxy::ExitHyperCriticalRegion Method

Called in order to exit a hyper-critical region.

IUMSThreadProxy::GetCriticalRegionType Method

Returns what kind of critical region the thread proxy is within. Since hyper-critical regions are a superset of critical regions, if code has entered a critical region and then a hyper-critical region, InsideHyperCriticalRegion will be returned.

Header: concrtrm.h

Namespace: Concurrency

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.