I know that nodejs uses the thread pool provided by the libuv to do concurrent jobs. I read that nodejs just needs one of those threads to do all the i/o bound activities
Then how do the non-blocking file operations happen?
What will actually happen under the hood in between node, disk, and os, if I iterate over a folder containing 100 files open all of them using readFile()?
If doing this same operation in some other multithreaded and blocking language will result in threads waiting for the i/o to finish, then who waits for i/o to finish in nodejs? , especially when there are multiple file operations happening simultaneously ?
Thank you !