1
가 나는 OverlappingFileLockException
을 던질 수있는 javadoc의 당으로 FileChannel
객체에Java에서 RandomAccessFile에 액세스하는 동안 FileChannel에서 FileLock을 가져 오는 보장 된 방법은 무엇입니까?
FileLock lock(long position, long size,boolean shared)
를 사용하는 것을 시도하고있다. 내가 2 스레드를 사용하여 테스트 프로그램을 만들 때 잠금 메서드는 잠금을 획득하기 위해 대기 중일 것입니다 (독점 및 비 독점 모두) 그러나 래핑 파일 잠금 예외를 넘어서서 숫자 스레드가 증가하면 블록 때문에 처리 속도가 느려집니다 파일 잠금 테이블에서.
OverlappingFileLockException을 피하기 위해 잠금을 획득하는 가장 좋은 방법은 무엇입니까?
공유 플래그는 읽는 동안 true로 설정할 수 있지만 쓰는 동안 배타적 잠금이어야합니다. 따라서 공유는 거짓이어야합니다. 이 경우 읽기 및 쓰기가 모두 수행됩니다. – nbhat