O'Reilly logo

Windows® via C/C++, Fifth Edition by Christophe Nasarre, Jeffrey Richter

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

A Handy Thread Synchronization Object Chart

Table 9-3 summarizes how the various kernel objects behave with respect to thread synchronization.

Table 9-3. Kernel Objects and Thread Synchronization

Object

When Nonsignaled

When Signaled

Successful Wait Side Effect

Process

While process is still active

When process terminates (ExitProcess, TerminateProcess)

None

Thread

While thread is still active

When thread terminates (ExitThread, TerminateThread)

None

Job

When job’s time has not expired

When job time expires

None

File

When I/O request is pending

When I/O request completes

None

Console input

No input exists

When input is available

None

File change notifications

No files have changed

When file system detects changes

Resets notification

Auto-reset event

ResetEvent, PulseEvent

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required