lots of different algorithms for how to do this but the idea is that the computer is so fast it can jump, it can spend some time on one thread, jump to the second, jump to the third, and then come back to the fourth and as the user we don't see the difference.