Problems With Events
Long-running handlers make application non-responsive.
- Fork off subprocesses for long-running things (e.g. multimedia), use events to find out when done.
- Break up handlers (e.g. event-driven I/O).
- Periodically call event loop in handler (reentrancy adds complexity).
Can't maintain local state across events (handler must return).
No CPU concurrency (not suitable for scientific apps).
Event-driven I/O not always well supported (e.g. poor write buffering).