2017-02-26 17 views
-1

우리는 한 번에 10 개의 스레드로 프로세스 중 하나를 실행합니다.자바에서 비동기 스레드의 변수 읽기

모든 스레드는 첫 번째 단계에서 ID를 생성합니다 (일반적으로 VM 세션을 가져올 때 약 10 초가 걸립니다).

ID를 받으면 조치를 취합니다.

그러나 성능 측면에서 우리는 값을 받고 호출 함수에서 몇 가지 작업을 수행 할 때 스레드의 해당 변수에 액세스하려고합니다.

우리는 GET/SET 메서드를 만들어 해당 변수의 값을 스레드에 쓰고 호출 메서드에서 읽었지만 Function 수준을 호출 할 때 항상 NULL을 발생시킵니다.

스레드 변수의 값 (폴링 가능)에 액세스하는 가장 좋은 방법은 무엇입니까?

미리 감사드립니다.

레이첼

답변

0

값을 사용할 수있을 때까지 getter 블록을 유지하십시오. getter는 호출자의 스레드에서 실행되므로 호출자가 변수를 사용할 수있을 때까지 기다려야하는 경우이 작업을 수행 할 수 있습니다.

0

컬렉션과 함께 싱글 톤 스레드 관리자 개체를 만들어야합니다. 모든 스레드가 self to manager 클래스를 등록하면 동일한 VM의 어느 위치에서나이 스레드와 해당 데이터에 연결할 수 있습니다.

행운을 비네.