A synchronization method and apparatus defines event objects to enable
synchronization of execution entities (e.g., threads). In one
arrangement, the synchronization method and apparatus is used in
conjunction with a Unix operating system. By defining event objects on
which threads or other execution entities can wait upon, multiple threads
can wait on one event, or alternatively, one thread can wait on multiple
events. Furthermore, using the event-based synchronization method and
apparatus, it is possible to specify behavior, particularly when one
thread or other execution entity waits on multiple events. For example,
the behavior specified can be that a condition is satisfied if any of the
events occur, if all of the events occur, or some other logical
combination of events occur.