inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]

Condition - 1

lock 객체 질문

245

hoonseung

작성한 질문수 34

0

lock 인터페이스를 사용할 때 해당 클래스 인스턴스 변수로 선언하는데 이렇게 되면 선언한 클래스에 대한 고유 락을 가지는건가요?

synchronized와 같은 방식과 같다면 상관없는데

또 다른 방식으로 생각해야 하나 싶어서요

java 동시성 multithread synchronisation

답변 1

0

정수원

그렇지 않습니다.

보통 lock 을 사용해서 특정 락 객체를 생성하고, 그 락 객체를 사용하여 동기화를 수행합니다

그러나 synchronized 는 synchronized 를 선언한 해당 메소드나 블록이 속한 객체에 대한 락을 얻어서 사용합니다

그래서 lock 인터페이스의 인스턴스 변수들은 직접적으로 락을 관리하며 락을 획득하고 해제하는 방법을 명시적으로 제어할 수 있지만 그 인스턴스 변수 자체가 클래스에 대한 고유한 락을 나타내는 것은 아닙니다.

 

0

hoonseung

감사합니다. 그러면

synchronized은 인스턴스 메서드에 붙었을 경우

그 해당 인스턴스에 대한 락을 사용하게 되고

Lock 객체 선언 시에는 이 Lock 객체에 대한

고유한 락을 사용하는거로 이해하면 될까요

그리고 최초 획득한 락 객체의 락을 가진 스레드만이 먼저 임계영역에서 작업을 하는거구요

멀티스레드 단일스레드

0

56

0

new Condition 부분 질문

0

83

1

13:00 강의 내용 이해 질문

0

99

1

강의 출시 질문 있습니다.

0

117

1

InterruptedExceptionThreadStopExample 질문입니다.

0

94

2

instance.getMyField()의 값이 왜 다른가요?

0

115

1

해당 강의 내용 무단 도용 신고

0

211

2

Thread Waiting 상태 관련 질문 드립니다.

0

186

1

단일연산변수 api

0

126

0

synchronized 블럭과 메인메모리 반영

0

147

0

실무에서 자바가 제공하는 락을 사용하는 경우

1

243

1

뮤텍스나 세마포어는 busy waiting이 없는 게 맞을까요?

0

159

1

16:50부분에서 타입락 질문드립니다.

0

110

2

16분 7초 뮤텍스 코드 관련해 질문드립니다.

0

160

2

동기화가 보장된다고 하더라도 스레드간 데이터 불일치가 발생할 수 있지 않나요??

0

199

2

리액티브-part2

0

180

2

문자열 풀 값을 이용한 String 변수

0

207

2

스레드 라이브러리는 커널과 같은 역할을 하지 못하나요?

0

173

1

자식 프로세스를 쓰는 이유

0

186

1

커널 모드 전환시 질문이 있습니다!

0

146

1

[공유] setName 시 threadName이 1부터 시작하는 이유

0

178

1

synchronized = 모니터

0

285

2

Thread의 Context Switching 문의드립니다.

1

257

1

동기 & 논블록킹 질문 드립니다.

0

232

2