Параллелизм может быть чрезвычайно полезен в ситуациях, когда у вас есть несколько задач, для которых всем нужно ждать каких-то внешних стимулов, которые не происходят часто (например, становятся доступными сетевые данные, завершаются операции чтения с диска и т. Д.) Если вы просто сидели вцикл, ожидающий одну из этих операций, вы либо
- ожидаете долгое время, пока какое-то отдельное событие завершится, в то время как другие уже закончили и ждут, чтобы вы посмотрели на них, или
- Потеря мощности ЦП за счет сотен различных событий, которые не сработали, при поиске событий, которые действительно сработали.
Параллельность также полезна при разработке программ, которые по своей сути управляются событияминапример, ожидание различных событий пользовательского интерфейса.В этом случае вы можете назначить задачи, которые должны запускаться в ответ на различные события пользовательского интерфейса, и процессор может просто сидеть без работы или работать над другими задачами без необходимости явного ожидания задач, которые еще не запущены.Как только происходит событие, эти потоки могут проснуться и разделить время обработки ЦП.
Надеюсь, это поможет!