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