Chapter 4 - Event Infrastructure

At the very lowest level computer hardware support event based programming.  An interrupt is a signal arriving at the CPU from some device.  A mouse moving generates an interrupt, as does a diskdrive signaling that it has completed a requested file read. Hardware support for events is well understood, and will be a main topic in a future chapter (yet to be developed).  We don't want to write all our event based programs at the hardware level, however.  

We want to write our event based programs in a high level language like Java or C#.  We want our programs to contain events and event processing, without worrying about the low-level details.  Some of our events may still be generated by hardware, e.g. mouse motion events, but others may exist strictly in software, e.g. an event that fires whenever our list data structure has changed.  

Languages and libraries that support event based programming include an infrastructure of event services that makes developing and running event based programs easier. Programmers frequently write code that use these services without really understanding their details, treating event processing as a black box. Their code compiles and runs, using the event infrastructure, but the programmer never really knows how the pieces fit together to get the job done.  Our purpose in this chapter is to open up the black box and look in detail at the various features that support event processing.

Chapter 4 - Event Infrastructure

Blood Pressure Event Implementations