Что будет, если к одному файлу одновременно обратятся несколько пользователей?
Что будет, если к одному файлу одновременно обратятся несколько пользователей?
Если у файла не установлен атрибут разделяемости S, доступ к нему получит только первый из обратившихся к нему пользователей, остальным придется повторять запросы до тех пор, пока первый пользователь (или его приложение) не закроет этот файл или он не закроется принудительно (например, оператором с системной консоли или сервером по разрыву соединения). Если атрибут S установлен, то файл может одновременно читать неограниченное количество пользователей. Если пользователь производит запись в файл, то, для обеспечения целостности данных, для остальных пользователей он блокируется. Блокировка возможна и на уровне записей, что позволяет нескольким пользователям вести одновременную модификацию разных частей одного файла.
Ограничения на количество захватов записей и файлов для каждого соединения и всего сервера задается командами SET MAXIMUM RECORD LOCKS PER CONNECTION = 500 (10-10000), SET MAXIMUM FILE LOCKS PER CONNECTION = 250 (10-1000), SET MAXIMUM RECORD LOCKS = 20000 (100-200000, в 4.x - до 400000), SET MAXIMUM FILE LOCKS = 10000 (100-100000) |