win32event Module
Each
application has different synchronization requirements. Some programs
may need to wait for threads to complete, while some threads may need
to wait for a file operation to complete or mutexes to become
available. To cater to these various requirements, Windows bases all
its synchronization primitives around Windows
HANDLES
. When you wish to wait for something of
significance, you usually pass a handle. For example, you can wait
for a thread or process to complete by specifying its handle; you can
wait for a file operation to complete by waiting on the handle in the
OVERLAPPED
object you specified. You can wait for
the mutex, semaphore, event, or other objects by passing the handle
you obtained when opening or creating the object. Thus, regardless of
the type of object or event you are waiting for, you always use
handles and can use the same Win32 functions.
There are three functions exposed by win32event
that wait for Win32 objects:
WaitForSingleObject()
,
WaitForMultipleObjects()
, and
MsgWaitFor-MultipleObjects()
. Each of these
functions allow you to wait for one or more handles to become
signaled, but exactly what signaled means
depends on the object. For example, a signaled synchronization object
typically means you have acquired the object, a signaled thread or
process handles mean the thread has terminated, and so forth.
Here are the three functions.
-
WaitForSingleObject()
As the name implies, this function allows you to wait for a single object to become ...
Get Python Programming On Win32 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.