나는이 일에 대해 매우 궁금해. 동기화 된 블록에 몇 가지 코드가 있습니다. SDK 메서드를 호출하지만 코드가 중단됩니다. synchronized(someObject) {
someSDKobj.someMethd();
}
비동기 블록에서 동일한 호출을하면 올바르게 실행됩니다. SDK에 방법이 같은 'someObject라는'에 동기화 다른 방법으로
컬렉션 프레임 워크에는 동기화 된 목록을 만드는 데 도움이되는 동기화 래퍼가 있습니다. List list = Collections.synchronizedList(new ArrayList());
스프링 XML 파일에서 목록을 만들려고합니다. 다음은 간단한 목록에 대해 잘 작동합니다. <bean id="listt" class="java.util.ArrayL
몇 가지 작업을 수행하는 스레드가 있습니다. 그들 중 하나는 잠시 잠을 자고있는 것입니다. 정상적인 수면 후 delayFinished() 메서드를 호출하지만 수면이 중단되면 delayFinished()을 호출하면 안됩니다. 나는 또한 다른 스레드에 의해 호출 될 수있는 수면을 중단하는 메서드가 필요합니다. 그래서이 내 의도를 캡처 구현,하지만 난 그것을 작
정확하게 사용하는 방법을 알고 싶습니다. 동기화 됨의사 코드을 쓰겠습니다.이 코드는 제가하려고하는 것을 모방합니다. 나는 전역 목록의 데이터를 가하고, 백그라운드에서 데이터 수집 작업을 실행하고 있습니다 : 여기 public MyApp extends Application {
public Object mLock = new Object();
가 나는 AsyncTask를에 의해 지속적으로 업데이트되는 있는 ScrollView, 내 TableLayout을을 보유하고 있습니다. 이 추가에 "법적"인 경우 나도 몰라/동시에 사용자가 TableLayout을 스크롤 할 수 있습니다 때 AsyncTask를에 의해 행을를 제거합니다. 업데이트가 GUI의 스크롤을 방해하지 않도록하려면 어떻게해야합니까? 아니면
지연된 실행 가능 객체를 처리기로 전달하는 객체로 객체를 전달했습니다. 객체가 전달되면 객체를 잠글 수 있고 객체가 잠금 객체를 사용하여 변경되면 객체를 '외계인'메소드 업로드로 전달해야합니다. 이 외래 메서드 업로드가 내 개체의 스레드 안전을 손상시키지 않도록하려면 어떻게해야합니까? 이 지연 스레드가 아닌 다른 곳에서 전달 된 객체가 있으므로 객체 잠금이
나는 2Treeviews입니다. 둘 다 같은 수의 항목을 가지고 있습니다. 나는 동기화 할 수 있도록하고 싶습니다 자신의 스크롤바를 ... 나는 그들 중 하나, 또 다른 이동 ... 수평 들어 를 이동하는 경우, 그것은 작동 내가 ... 을 예상대로 수직, 나는이 스크롤 바의 화살표를 사용하는 경우 그것은 작동하지만, 나는 엄지 손가락을 끌어 하지 않는 경
잠금 개체를 사용하는 대신 개인 필드 변수를 잠그는 것이 안전하고 용인되는 방법입니까? 이 방법으로 다른 용도로 다른 잠금 장치를 사용할 수 있습니다. 아래 예 : class Test {
private Integer x = 0;
private Integer y = 0;
public void incrementX() {
s
Java에서 concurency와 threads를 배우기 시작했습니다. 나는 동기의 기본 (즉, 그것이하는 것)을 안다. 개념적으로 나는 그것이 공유 자원의 상호 배타적 인 접근을 자바의 다중 쓰레드로 제공한다는 것을 이해한다. 그러나 아래의 예제를 보았을 때 혼란 스러울 때 동기화하는 것이 좋습니다. 코드의 중요한 부분을 동기화시켜야하며이 키워드를 지나치