I’m learning about multithreading, but after reading some tutorials I’m sort of confused.
I don’t understand how multithreading can speed up an application.
By intuition, I would say multithreading slows down an application, because you constantly have to wait for those semaphores.
How and when can multithreading speed up an application, when threads can’t run concurrently?
Two ways I can think of, the first of which is probably what you mean by “parallel threading”.