There are 2 main approaches how to handle requests from Clients to a web server:
On a thread based system the web server creates one thread per request and all the work for this request is handled by that thread.
This also means, that the maximum of available threads on a computer determines how many concurrent users can connect to the web server.
On an event based system every request will be put in a “queue” which then is processed by 1 web server thread.
With that you avoid the “overhead” of creating a new thread for each request.
But this also means, that e.g. a very complex and long request blocks all request since it needs to be done before all the other requests can be processed.
Node.js “Event Loop” visualized