Почему готовность дескриптора может изменяться между временем, когда дескриптор был уведомлен о готовности, и временем последующего вызова ввода-вывода? - PullRequest
0 голосов
/ 01 сентября 2018

из интерфейса программирования Linux

Если несколько процессов (или потоков) выполняют ввод-вывод для одного и того же открытого файла описания, с точки зрения конкретного процесса, дескриптора готовность может измениться между временем, когда дескриптор был уведомлен как готов и время последующего вызова ввода-вывода . Следовательно, блокирующий вызов ввода / вывода может блокировать, что не позволяет процессу контролировать другие файловые дескрипторы.

Почему «готовность дескриптора может измениться между временем, когда дескриптор был уведомлен как готовый и временем последующего вызова ввода-вывода »?

Проблема возникает только тогда, когда несколько процессов или потоков совместно используют одну и ту же запись таблицы файлов ядра (поэтому совместно используют одинаковое смещение / позицию файла)?

Другими словами, если несколько процессов или потоков не совместно используют одну и ту же запись таблицы файлов ядра (поэтому имеют разные смещения / позиции файлов), проблема все еще возникает?

Спасибо.

...