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