시작 및 중지 버튼이 있습니다. 사용자가 원하는만큼 여러 번 작업을 시작하고 중지 할 수 있기를 원합니다. stop 버튼을 눌렀을 때 wait()를 수행하고 시작 버튼을 눌러 스레드를 다시 시작하면 notify()를 수행하여 정상적인 스레드에서 올바르게 작동하게 할 수있었습니다. 이것은 훌륭하게 작동했습니다. 그러나 ... 나는 실을 확장했다. 상사가 스레드를 확장하지 말고 SwingWorker를 사용해야한다고했습니다. 그러나 SwingWorker는 한 번만 실행할 수 있다는 것을 알았습니다. 또는 같은 세션에서 두 번 이상 실행될 수 있습니까? 누군가가 나를 올바른 방향으로 도울 수 있습니까?SwingWorker를 일반 스레드와 비교하여 사용하거나 사용하지 않으려면
4
A
답변
1
로직을 실행할 때마다 SwingWorker의 인스턴스을 새로 만들면됩니다. 개인적으로, SwingWorker에 대해 설명 할 때 문제에 대해별로 도움이되지 않습니다. 괜찮아 질 것입니다. ...
3
매우 드물게 Thread
을 확장해야합니다. 당신이해야 할 일은 Runnable
을 Thread
생성자로 전달하는 것입니다.
내 취향에 따라 SwingWorker
은 코드에 너무 많은 커플 링을 추가하며 매우 잘 작동하는 데모에 남겨 두어야합니다.
0
당신이하고있는 일에 대해 SwingWorker가 필요하지 않습니다. SwingWorker는 배경 스레드에서 무언가를 실행해야 할 때 사용되며, 잠그지 않고 GUI (진행률)를 업데이트해야합니다.
당신은 이미 잘 했어.
관련 문제
- 1. session_set_save_handler를 사용하거나 사용하지 않으려면?
- 2. 상태 패턴을 사용하거나 사용하지 않으려면?
- 3. 오류 코드를 사용하거나 사용하지 않으려면
- 4. ENUM/SET 유형을 사용하거나 사용하지 않으려면 어떻게해야합니까?
- 5. PHP 클래스 인스턴스화. 괄호를 사용하거나 사용하지 않으려면 어떻게해야합니까?
- 6. WPF 프리즘 - 범위가 지정된 영역을 사용하거나 사용하지 않으려면?
- 7. 보기를 사용하거나보기를 사용하지 않으려면
- 8. 콜론을 사용하거나 선택자를 사용하지 않음
- 9. 주 스레드와 비교하여 보조 스레드에서 충돌하는 것이 유리합니까?
- 10. 그룹의 확인란을 다시 사용하지 않으려면
- 11. 자바 키워드를 사용하지 않으려면 어떻게해야합니까?
- 12. 텍스트 설명을 사용하지 않으려면 어떻게해야합니까?
- 13. 사진에 LaTeX 여백을 사용하지 않으려면
- 14. IE에서 멀티미디어 콘텐츠를 사용하지 않으려면
- 15. OpenID를 사용 하시겠습니까? 사용하지 않으려면 어떻게해야합니까?
- 16. 디버그 정보를 사용하거나 사용하지 않고 최적화하여 구축했습니다.
- 17. .aspx 확장명을 사용하거나 사용하지 않는 링크
- 18. 동일한 방법을 사용하거나 사용하지 않을 수 있습니까?
- 19. PHP에서 심볼을 사용하거나 사용하지 않을 때
- 20. 스프링 통합을 사용하거나 사용하지 않습니까? JMS (ActiveMq)
- 21. SwingWorker를 사용하면 효율적으로 게시합니다.
- 22. 패드를 사용하거나 패드를 쓰지 않으려면 - 통신 프로토콜을 만듭니다.
- 23. OpenGL - 사용하거나 사용하지 않으시겠습니까? 왜 - iPhone 응용 프로그램 개발자
- 24. 일련의 프롬프트에 goto를 사용하지 않으려면 어떻게해야합니까?
- 25. 콘솔 모드에서 컬러 테마를 사용하지 않으려면 어떻게해야합니까?
- 26. osgi에서 jar 파일을 사용하지 않으려면 어떻게해야합니까?
- 27. 디자인 패턴을 과도하게 사용하지 않으려면 어떻게해야하나요?
- 28. MFC 응용 프로그램에서 단추를 사용하지 않으려면 어떻게해야합니까?
- 29. WPF 도구 팁을 사용하지 않으려면 어떻게해야합니까?
- 30. 다른 SwingWorker를 실행할 수 있습니까?