Node.js uses a single-threaded, event-driven model to handle concurrency, which allows it to handle a large number of simultaneous connections efficiently.