비 UI 스레드에서 Eclipse 플러그 인의 UI 스레드로 값을 전달하는 모범 사례/빛나는 예제가 있습니까? 신청?비 UI 스레드에서 Eclipse 플러그 인 응용 프로그램의 UI 스레드로 값을 전달하는 모범 사례
답변
백그라운드 스레드가 UI 스레드에 속하는 개체에 대한 작업을 수행 할 수 있도록하는 데 사용할 수있는, 방법
syncExec(Runnable runnable)
및Display
의asyncExec(Runnable runnable)
이 사용됩니다.
모든 스레드에서 호출 할 수있는 유일한 방법은SWT
입니다.
- 에 의해 실행 가능한 실행 가능 - 백그라운드 스레드가 실행 가능한 완료를 기다리는 원인이됩니다 ( ). 또는 백그라운드 스레드가 비동기 적으로 결과를 기다리지 않고 비동기 적으로 실행되도록 허용합니다.
syncExec()
을 사용하여 실행되는 실행 가능 파일은 UI 작업에 대한 동등한 직접 호출과 가장 일치합니다. Java 메소드 호출은 계속 진행하기 전에 항상 결과를 기다리기 때문에syncExec()
과 같습니다. this thread에 의해 도시 된 바와 같이
: 나는 모든 사람보다 Runnable 또는 내가 'Threads
을'이다 Display.sync
또는 asyncExec
에게 줄 스레드를 생각하고는 UI 스레드와 함께 JVM 또는 무언가가 예약받을
!
그들은 스레드로 간주되지 않지만 UI 스레드에 의해 비동기 적으로 실행되는 코드 조각만을 알았습니다!
UI 스레드에 의해 비동기 적으로 실행되는이 코드 부분은 다른 스레드에서 값 (동기화 된 액세스)에 액세스하는 좋은 장소 일 수 있습니다.
UI 스레드에 값을 전달하는 구체적인 예는 "How to update a GUI from another thread in Java"을 참조하십시오.
(참고 : 비 일식 비 SWT 방법은 I mentioned a year ago 같은 스윙 노동자를 사용하여 스윙에 있었을 것이다)
조금 늦게이 하나에지고,하지만 난 조직을 사용합니다. eclipse.ui.progress.UIJob.
UI가 아닌 스레드가 UI에 보낼 정보가 있으면 특정 디스플레이에서 실행되는 UIJob을 생성 할 수 있습니다. 백그라운드에서 asyncExec이 사용되지만 ProgressMonitor, 작업 취소, 규칙 스케줄링 및 다른 작업에 대한 가입/대기와 같이 Jobs API의 멋진 부분을 많이 얻게됩니다.
결국 내가했던 것과 비슷합니다. http://www.critical-masses.com/jakeofalltrades/displaying -progress-eclipse-ui-wwud – Jake
- 1. (WPF) UI 모범 사례
- 2. 모범 사례 UI 가이드?
- 3. Android : 백그라운드 스레드에서 UI 스레드로 메시지를 전달하는 적절한 방법은 무엇입니까?
- 4. 비 ui 스레드에서 뷰 생성 및 UI 스레드에서 소모
- 5. 다중 선택 UI - 모범 사례
- 6. Wix UI 조건 모범 사례
- 7. jQuery를 UI 탭 3과 역사 플러그 - 인
- 8. 스레드에서 UI 응용 프로그램 호출
- 9. 다른 스레드에서 UI 업데이트
- 10. 비 UI 스레드에서 Silverlight 및 콜백
- 11. iPad에서 팝업으로 제어되는 값을 전달하는 모범 사례
- 12. 레거시 응용 프로그램이 비 -Ui 스레드에서 대화 상자를 만듭니다.
- 13. ASP.Net의 부모/자식 UI 디자인 모범 사례?
- 14. Eclipse Workspace 모범 사례
- 15. 보기에서 UI 스레드에서 실행
- 16. 비 AOP 모범 사례
- 17. 메시지 펌프를 사용하여 ui 스레드에서 대리자 실행
- 18. Winform 응용 프로그램의 콘솔 UI
- 19. WPF 데이터 바인딩 마샬이 UI 스레드로 변경됩니까?
- 20. 마스터/세부 UI 우수 사례?
- 21. ThreadPool.QueueUserWorkItem의 정보를 UI 스레드로 다시 전달하는 방법은 무엇입니까?
- 22. findviewbyid를 UI 스레드에서 호출해야합니까?
- 23. 스레드에서 UI 업데이트
- 24. WPF UI 스레드 가져 오기 또는 비 UI 스레드에서 윈도우를 표시하는 방법
- 25. JQuery UI : 대화 상자에 값을 전달하는 방법
- 26. BackgroundWorker 스레드에서 UI 컨트롤에 액세스
- 27. windows.forms간에 정보를 전달하는 모범 사례
- 28. 백그라운드 스레드에서 UI 컨트롤 업데이트
- 29. 다른 스레드에서 UI 업데이트 (progressDialog)
- 30. UI 스레드에서 예외 예외 발생
감사합니다. syncExec 부분이 있습니다. 실제 배경 스레드에서 정보를 얻으려면 syncExec를 호출하고 run() 메서드에서 실제 bg 스레드를 예약 한 다음 폴링 및 잠자기 결과를 기다리는 것보다 더 나은/권장 된 방법이 있는지 궁금합니다. 예를 들어, 두 프로세스를 이벤트 처리기와 동기화합니까? (예를 들어, 네트워크 결과를 기다리고 있는데, UI 스레드에서 호출 할 수 없습니다.) – Jake