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