YieldProcessor macro

Signals to the processor to give resources to threads that are waiting for them. This macro is only effective on processors that support technology allowing multiple threads running on a single processor, such as Intel's Hyperthreading technology.


void YieldProcessor(void);


This macro has no parameters.

Return value

This macro does not return a value.


This macro can be called on all processor platforms where Windows is supported, but it has no effect on some platforms. The definition varies from platform to platform. The following are some definitions of this macro in Winnt.h:

#define YieldProcessor() __asm { rep nop }

#define YieldProcessor _mm_pause

#define YieldProcessor __yield


Minimum supported client

Windows Vista [desktop apps | UWP apps]

Minimum supported server

Windows Server 2003 [desktop apps | UWP apps]


Winnt.h (include Windows.h)