Node.js solves "One Thread per Connection Problem" by putting the event-based model at its core, using an event loop instead of threads. All the expensive I/O operations are always executed asynchronously with a callback that gets executed when the initiated operation completes.
The Observation IF any Operation occures is handled by multiplexing mechanisms like epoll().
My Question is now:
Why doesnt NodeJS Block while using the blocking Systemcalls select/epoll/kqueue?
Or isnt NodeJS Single Threaded at all, so that a second Thread is
necessary to observe all the I/O-Operations with select/epoll/kqueue?