ReentrantLock 용 Java API를 살펴본 결과 synchronized 키워드와 동기화가 사용되지 않는다는 것을 알 수 있습니다. 객체를 동기화하는 AbstractQueuedSynchronizer (ReentrantLock이 잠금을 획득하려고 할 때 참조하는) 메소드의 아래 메소드에 있습니까? compareAndSwapInt은 기본 메소드이므로
클릭 가능한 위젯을 개발 중입니다. 위젯 로직이 한 번에 한 번만 호출되도록 정적 java.util.concurrent.locks ReentrantLock을 사용하려고합니다. 하지만 매우 희귀 한 상황에서 잠금 장치가 해제되지 않은 것은 가능합니다. 이는 수명주기 창이 10 초이므로 미리 제거되기 때문입니다. ReentrantLock을 사용하여 반대 의견이
우리는 yourkit 프로파일 러를 사용하여 응용 프로그램에서 많은 경합 문제를 찾아 해결합니다. 우리는 스레드 모니터링을 사용하여 차단 된 스레드를 확인하고 이러한 많은 문제를 해결했습니다. 그러나 yourkit은 ReentrantLocks가 차단되거나 대기중인 것처럼 보이지 않습니다. 따라서 경쟁 문제를 실제로 확인하기 위해 수행 할 수있는 작업은 무엇
javadoc을 올바르게 해석하는지 잘 모르겠습니다. lock 메서드를 호출하고 성공적으로 잠금을 얻은 후에 ReentrantLock을 사용하면 동기화 된 블록이없는 개체에 액세스 할 수 있으며 happend-before 관계가 마술로 적용됩니까? ReentrantLock과 제가 작업하고있는 개체 사이에 아무런 연결이 보이지 않습니다. 그래서 내가 안전하게
Java String 클래스를 읽을 수 없으며 스레드로부터 안전하지만 String에 대한 참조 할당이 스레드로부터 안전한지 여부에 대해 여전히 혼란 스럽습니다. 첫 번째 질문 : 스레드 B는 코드가 스레드 안전 따르고, Foo.getString() 호출하는 동안 스레드 A가 Foo.setString()를 호출하면? Class Foo {
String