Node JS is single-threaded. The event loop allows Node.js to perform non-blocking I/O operations and enables it to be asynchronous. The event loop, aka the main thread, allows running one thing at a time. Having said that, Node.js JavaScript code runs on a single thread.