Being able to pause a system at any time for any duration can also be used to synchronize to asynchronous events.
In computer programming, asynchronous events are those occurring independently of the main program flow.
One of the few things in Unix that do not conform to the file interface are asynchronous events (signals).
Of note is that the asynchronous events were gathered via normal file descriptor read operations, and that such reading was itself capable of being made asynchronous.
This had implications for semi-autonomous asynchronous event handling packages that could exist within a single process.
As graphical user interfaces developed, the file model proved inadequate to the task of handling asynchronous events such as those generated by a mouse.
Long running processing capability enables the architecture to collect various asynchronous events over a long period of time and correlate these events into causal relationships.
Using asynchronous event posting keeps the tasks running truly independently without blocking on each other.
This is via asynchronous events that are generated as the XML data is parsed.
Well, that was one way of creating sort of a feeling of asynchronous events.