Yes, you miss the fact that a process can block I / O expectations. Thus, if you use ONE THREAD only in your application, if it blocks the wait for I / O to complete, it will be very slow.
On the other hand, if you have multiple threads, your application may have a couple of them waiting for I / O to complete, but the rest of them are “running”, while the OS gives it access to SINGLE PROCESSOR.
Keep in mind that I / O operations are less by an order of magnitude slower than CPU operations .
. , , , . , APACHE, . , , -, , -. , ASYNC-IO. , Apache, ASYNC-IO, , , - .