2

필자는 쓰기 권한을 독점적으로 잠그고 읽기를 위해 병렬 액세스를 사용하려는 데이터 구조를 사용합니다.Java : ReadWriteLock과 ReentrantReadWriteLock의 차이점

일부 검색을 수행하여 ReadWriteLockReentrantReadWriteLock - 두 가지 모두 읽기 잠금과 쓰기 잠금을 제공합니다.

나는 그들 사이의 차이점을 이해하지 못했습니다. 누군가 설명해 주시겠습니까? 내 질문에 대한 어리석은 느끼고

+4

으로 시작하려면 ... "ReadWriteLock의 인스턴스"를 사용할 수 없습니다 클래스 ... – assylias

+0

https://en.wikipedia.org/wiki/Reentrant_mutex –

+0

@assylias, 감사합니다. Javadoc의 머리글을 간략히 살펴보면 맨 위에 쓰여진'Interface' 키워드를 놓쳤습니다. 질문에 어리 석음을 느낀다 ... 어쨌든,이 스레드가 나중에 어떤 사람들에게 몇 분을 절약 할 수 있기를 바랍니다. – SomethingSomething

답변

2

은 - ReentrantReadWriteLock 그것의 구현 동안 대답은 매우 간단합니다 ... 나는

ReadWriteLock

단순히 인터페이스입니다 .. 그래도 다른 사람들에게 시간을 절약 바랍니다 ..

그래서 당신은 실제로 하나의 인터페이스이며, 다른 하나는 콘크리트이며,

전체 답변의

...

+0

글쎄, 당신은 여전히 ​​재진입 성의 의미를 이해해야합니다. –

+0

나는 이것이 읽기에 관한 것이라면 여러 스레드가 액세스 할 수 있다는 것을 의미하며, 수정에 관한 것이라면 수정 스레드 만 액세스 할 수 있다는 것을 의미한다고 생각합니다. 맞습니까? 그것은 공유 및 독점 잠금에 관한 것입니다. – SomethingSomething

+1

아니요, ReadWrite 부분입니다. 내장 된 Java 잠금 (synchronized 키워드)은 예를 들어 읽기 쓰기 잠금이 아닌 재진입입니다. 내 다른 의견에 링크 된 내용보기 https://en.wikipedia.org/wiki/Reentrant_mutex –