Воспользуемся аналогией
"Я управляю отелем, в котором гости переключаются между комнатами. Я могу разместить сотни гостей параллельно. Один гость покидает комнату, другой входит в нее. Если комнаты переполнены, гости ждут в холле, но я быстро поменяйте их, чтобы каждый гость получил время в комнате.
Тогда я не понимаю, почему у меня есть ограничение по количеству номеров в здании моего отеля. Я имею в виду, что я быстро переключаю гостей между комнатами, тогда почему в моем здании 8 комнат / 16 кроватей? "
hotel = CPU
room = CPU core
bed = CPU thread
guest = software thread