I am looking for an analogy that will help me understand the difference between how a thread-based sever handles http requests and how an event-based server handles http requests. Let's say that a server is a shop in a building, port 80 is the shop's front door, and an http request is a customer who just walked in the front door. What happens next? How does shop handle the customer? How does the shop handle several customers, and what difference does it make in terms of how fast a customer leaves the shop?

In short, I'm looking for an explanation of things like 'event loop' and 'thread' and "blocking" and "non-blocking" in terms of a physical, real-world analogy.

Edit
Report