2011-12-17 2 views
2

주 스레드의 시간 소비 작업으로 인해 GUI가 멈추는 경우를 감지하고 싶습니다. 내 목표는 대기 커서를 자동으로 설정 및 설정 해제하는 것입니다.자바에서 주 스레드 고정 GUI를 감지하는 방법?

감사

+5

별로 의미가 없습니다. GUI가 고정되어 있으면 대기 커서를 설정할 수 없으며 GUI가 고정되어 있습니다. –

+1

@blow 이벤트 디스패치 스레드에서 모든 이벤트를 추출하고, Reapaint Manager에 대해 위반 사항을 확인할 수는 있지만 왜 ???, (AWT, Swing 및 그 파생어에 대해 이야기하는 경우) 모든 이벤트가 EDT가 한 순간에 완료됩니다 (화면에 출력). – mKorbel

+0

@ blow : 'swing'태그가 추가되었습니다. 내가 틀렸다면 수정 해주십시오. – home

답변

5

난 당신이 말을하기 전에 카트를 가하고 있다고 생각 : 귀하의 메인 스레드가 첫번째 장소에있는 시간이 많이 걸리는 작업을하지 말아야 - 그들은 항상 있도록 별도의 스레드에서 구체화되어야한다 당신의 GUI는 응답 성을 유지할 수 있습니다 (예 : 조작 상태를 표시하거나 중지 할 가능성을 제공).

2

GUI 스레드의 스택 추적을 폴링하여 유휴인지 또는 사용 중인지를 결정하는 스레드를 가질 수 있습니다. 너무 자주 바쁠 경우 로그에 수행중인 작업 (스택 추적)을 로그에 기록 할 수 있습니다. 처음에는 모든 유휴 상태가 아닌 스택 추적을 기록하고 로깅 할 가치가없는 작업을 처리하는 것이 흥미로울 수 있습니다.

관련 문제