Книга: UNIX: взаимодействие процессов
9.10. Резюме
9.10. Резюме
Блокирование записей с помощью fcntl предоставляет возможность установки рекомендательной или обязательной блокировки для файла, указываемого с помощью открытого дескриптора. Эти блокировки предназначены для сотрудничества процессов, но не отдельных потоков одного процесса. Термин «запись» используется не вполне корректно, поскольку ядро не различает отдельные записи в файле. Лучше использовать термин «блокировка диапазона», поскольку при установке блокировки или ее снятии указывается именно диапазон байтов в файле. Практически во всех случаях применения этой блокировки она является рекомендательной и используется при совместной работе сотрудничающих процессов, поскольку даже обязательная блокировка не может исключить повреждения данных.
При использовании fcntl не гарантируется, что читающие или пишущие процессы имеют приоритет при ожидании (в отличие от того, что мы реализовали в главе 8 с блокировками чтения-записи). Если это важно для приложения, придется реализовать блокировки самостоятельно (как в разделе 8.4) с тем приоритетом, который требуется.
- 9.1. Введение
- 9.2. Блокирование записей и файлов
- 9.3. Блокирование записей с помощью fcntl по стандарту Posix
- 9.4. Рекомендательная блокировка
- 9.5. Обязательная блокировка
- 9.6. Приоритет чтения и записи
- 9.7. Запуск единственного экземпляра демона
- 9.8. Блокирование файлов
- 9.9. Блокирование в NFS
- 9.10. Резюме
- Упражнения