백그라운드 스레드 (또는 작업자 스레드)에 관한 튜토리얼을 읽었으며 이제는 SwingWorker와 데몬 스레드 사이에 혼란스러워합니다. 그들은 둘 다 백그라운드에서 일을하기 때문에 내가 아닌 GUI를 응용 프로그램을 작성 해요 SwingWorker 또는 데몬 스레드를 만들어야합니까?java의 작업자와 데몬 스레드
0
A
답변
1
Thread
에는 데몬과 비 데몬의 두 가지 유형이 있습니다. 비 데몬 Thread
이 실행을 멈 추면 JVM이 실행을 중지합니다.
SwingWorker
은 GUI가 응답하지 않도록 Event Dispatch Thread에서 비싼 시간에 비싼 작업을 비동기 적으로 수행하는 유틸리티입니다. A SwingWorker
은 Thread
이 아니며 실행을 위해 Thread
으로 바뀔 수있는 Runnable
작업입니다.
GUI로 아무 작업도 수행하지 않는 경우 Thread
을 사용하십시오. GUI에 대해 별도의 Thread
에서 조치를 수행해야하는 경우 SwingWorker
을 사용하십시오.
0
SwingWorker는 사용자 인터페이스와 상호 작용하기 쉬운 특수 클래스입니다. GUI 구성 요소에 대한 액세스는 특수 GUI 스레드에서만 수행해야합니다. SwingWorker에는 gui 스레드에서 실행되도록 보장 된 done
메서드가 있으므로 ui를 안전하게 업데이트 할 수 있습니다.
스윙 UI와 상호 작용하지 않으면 간단한 스레드를 사용해야합니다. 또한 당신은 스레드 풀이 ExecutorService
보길 좋은 몇 가지 스레드가 필요한 경우.
관련 문제
- 1. Java의 데몬 스레드
- 2. 자바의 데몬 스레드
- 3. 변환 사용자 스레드 -> 데몬 스레드
- 4. 파이썬에서 데몬 스레드 예외 인쇄
- 5. Tomcat의 데몬 스레드 수 줄이기
- 6. 데몬 스레드 란 무엇을 의미합니까?
- 7. 다른 간격으로 깨우기위한 데몬 스레드
- 8. 내가 Windows에서 데몬 스레드를 만들려고 해요 데몬 스레드
- 9. Java의 데몬 : 간단한 일정 응용 프로그램입니까?
- 10. Java의 스레드 스테이트 머신
- 11. Java의 여러 스레드
- 12. Java의 스레드 관리
- 13. Java의 스레드 풀
- 14. 다중 스레드/분기 서버 데몬 용 모델
- 15. Android 사용자 정의 데몬 UI 스레드
- 16. QShell을 사용하여 AS400에서 데몬 스레드 중지
- 17. 다중 스레드 작업을 실행하는 작업자와 RabbitMQ 사용 - 병렬 보석
- 18. 지연된 스레드 작업자와 함께 Java에서 정기적 인 작업을 예약 하시겠습니까?
- 19. 비 데몬 쓰레드가 데몬 1을 기다리고 있다면?
- 20. Java의 멀티 스레드 서버 프로그램
- 21. HTTP 게시물과 Java의 다중 스레드
- 22. Java의 다중 스레드 벤치 마크
- 23. Java의 멀티 스레드 채팅 서버
- 24. JavaScript 작업자와 이상한 행동
- 25. 배경 작업자와 쓰레드 풀을위한 중지 버튼
- 26. 아파치 작업자와 승객을 어떻게 사용합니까?
- 27. 배경 작업자와 C DLL 사용
- 28. 캐스트 작업자와 관련된 특정 작업
- 29. Java의 지속성 대기열 및 소비자 스레드 풀
- 30. Java의 다중 스레드 오브젝트 → 오브젝트 캐시 맵?
안녕하세요, 제출 된 Runnable 작업을 실행하는 스레드가 데몬인지 아닌지 확인 하시겠습니까? – MinhHoang
@FinalIllusion'SwingWorker # execute'를 호출하면 데몬'Thread'에서 실행됩니다. 그러나'SwingWorker'는 백그라운드에서 Event Dispatch Thread와 동기화하기 위해 많은 일을합니다. 따라서 GUI를위한 작업을 실제로 수행하지 않는 한, 그것을 사용해서는 안됩니다. – Jeffrey
감사합니다, 그게 내가 SwingWorker Runnable 작업을 실행하는 스레드가 데몬인지 여부를 확인하는 방법을 모르기 때문에 알고 싶습니다. – MinhHoang