Я пытаюсь использоватьВ Java Каков гарантированный способ получить FileLock из FileChannel при доступе к RandomAccessFile?
FileLock lock(long position, long size,boolean shared)
в FileChannel
объекта В соответствии с Javadoc он может бросить OverlappingFileLockException
. Когда я создаю тестовую программу с 2-мя способами блокировки потоков, похоже, ждет, чтобы получить блокировку (как эксклюзивную, так и не эксклюзивную). Но когда число потоков увеличивается в acutal-сценарии по сравнению с притиркой блокировки блокировки файлов, и обработка замедляется из-за блока в таблице блокировки файлов.
Каков наилучший способ получить блокировку, исключающую OverlappingFileLockException?
Общий флаг может быть установлен как истинный во время чтения, но при записи он должен быть исключительной блокировкой. Поэтому общий должен быть ложным. В этом случае чтение и письмо выполняются. – nbhat