Подумайте, пишете ли вы ПО ОЧЕНЬ ПЛОХО… и пишете операционную систему.
Эта операционная система, помимо прочего, принимает ввод с клавиатуры.
Итак, вы просите свою ОС пойти и получить ввод с клавиатуры, но в буфере нет нажатых клавиш.
Ваша ОС в целом будет зависать, пока не получит ввод с клавиатуры.
Сравните это с «взглядом в будущее», вы спрашиваете, есть ли в КБ какие-либо символы ДО выполнения вызова.
Вы получаете ответ НЕТ, поэтому ваша ОС затем работает и делает что-то еще.
Это то, ПОЧЕМУ вы должны заботиться, теперь, если вы затем умножите это на каждую другую потенциально блокирующую задачу, вы поймете, почему «смотреть в будущее» так важно.
Потому что это также относится к OUTPUT: память к интерфейсу дисковода может также перетекать данные на диск быстрее, чем она может их обработать.
если вы не знаете, что буфер накопителя заполнен данными, то задача будет блокироваться, пока буфер не сможет принять больше данных.
Это также подчеркивает бессмысленность «очень мало полезных применений».