Multi thread model
- Request with listener worker thread | lock application.
- Using incoming request model.
- Multi threaded server might block the request which might involve multiple events.
- Using context switching.
- Using multi thread environments where listener and workers threads are used frequently to take an incoming request lock.
Single thread model
- Only one thread, which repeatedly fetches and events.
- Using queue and then process it.
- Manually saves state and then goes on to process the next event.
- No connection and no context switches.
- Using asynchronous I/O facilities (callbacks, not poll, select or O_NONBLOCK) environments.