Hi,
Basically, it's a thread with an associated queue of "events" and an associated set of "handlers". The thread pick the right "handler" for each event from the queue and call it. Event loops have several benefits. Among these we can cite: ordering (the event are processed in order), and synchronization (as everything is called in the same thread). However, because of this, called handlers must never block as it would avoid the other events from the queue to be dispatched.
As said previously, event loops are not new. Many well known technologies use event loops such as AWT / Swing, Android (activities), node.js, and most operating systems...
What makes vert.x pretty unique is the number of event loops and their organization. Most of the time you have a single thread. With vert.x, it's configurable but generally it's the number of CPU cores to balance the load to all the cores. Then, vert.x enforces the benefits mentioned previously:
* on one event loop, events are dispatched in order
* handlers are always called by the same event loop, reducing the need of synchronization
Clement