Файлы:
Хорошо открывать устройства, такие как модемы, которым требуется некоторое время для инициализации с неблокирующим FD (иначе O_NONBLOCK). Это относится не только к модемам, но и ко многим типам символьных устройств, которые должны быть сконструированы для того, чтобы быть пригодными для использования, или когда устройство может блокироваться до того, как сигнализировать о том, что оно «готово» по какой-то другой причине.
Этот QR-код также нужны для различных QRNG (квантовых генераторов случайных чисел), а также для различных типов контроллеров освещения, которые должны искать равноправные узлы, прежде чем подать сигнал «готов!».
Кроме того, поскольку некоторые файловые системы пространства пользователя предоставляют интерфейс ioctl (), который известен для блокировки на несколько секунд. В этом случае вы можете или не хотите передавать неблокирующую FD , в зависимости от того, насколько вредным может быть сон для выбранного вами времени.
Цоколь:
Когда вы хотите использовать неблокирующий ввод / вывод, в то время как однопоточный «дворецкий» имеет тенденцию ко многим гостям. Распространенным заблуждением здесь является то, что без блокировок означает без блокировок некоторыми мистическими средствами. Это не так. На самом деле, один из них обычно исключает другого.