"H2O 문제"라는 숙제가 있는데 여기에는 3 가지 방법이있는 H2OBarrier라는 클래스를 구현해야합니다.Java의 올바른 잠금/잠금 해제 재 착탈 잠금
- HReady를 호출하는 방법은 수소 원자 (스레드)
- OReady 준비가되었을 때, 호출하는 방법은 산소 원자 (스레드)
- makeWater 준비 될 때 호출 방법 2이 개 수소 원자 및 하나의 산소 원자가 준비되었습니다.
Java 재진입 성 잠금 및 조건을 사용하여이 작업을 수행해야합니다.
이것은 지금까지 제 코드입니다. 제대로 잠금을 사용하고 잠금 해제하고 있는지 궁금합니다.
내 makeWater 메소드 이외의 곳에서 unlock()을 호출해야합니까? 프로그램의 전체 흐름은 나에게 꽤 논리적 인 의미로 보입니다. 나는 전반적으로 올바르게 보이는지 확인하고 싶습니다.
나는 그것을 통과했지만, 나의 OReady 및 HReady 메소드 내에서 unlock()을 호출하면 의미가 있는지 확실하지 않습니다. 아니면 try/catch/finally 문을 사용하지 않았는가? – Hoser
try 블록으로 업데이트했습니다. – Hoser