GUI와 몇 개의 버튼으로 구성된 작은 애플리케이션을 작성하고 있습니다. 사용자가 그 중 하나를 클릭하면, 프로그램은 웹 페이지를 다운로드하고, 일치하는 몇 가지 작업을 수행하고 GUI에 값을 반환해야합니다. 질문 : 사용자가 해당 버튼을 클릭 할 때마다 새 스레드를 시작해야하거나 이러한 종류의 작은 작업 (주로 웹에서 콘텐츠 다운로드) 대신 스레드에 대한 대안이 있습니까?GUI를 멈추지 않고 작은 작업을 처리 할 수있는 대체 도구
1
A
답변
3
항상 다른 스레드를 사용해야합니다. 이제 다른 스레드를 사용하는 방법은 당신에게 달려 있습니다. 대기중인 작업을 기다리는 대기중인 스레드가있는 백그라운드에있는 producer/consumer
메서드를 살펴보십시오. 이것은 당신의 직업에 잘 맞는 것 같습니다. GUI 업데이트 및 새로 고침에 도움이되므로 가능한 경우 SwingWorker
을 사용해야합니다. 마지막으로, 매우 유용하므로 java.concurrency
패키지를 살펴보십시오. 요즘에는 모든 잠금과 스레드를 수행하는 라이브러리를 사용하지 않고 수동으로 스레드를 시작해야하는 이유가 있다고 생각하지 않습니다.
0
해당 호출을 비동기 적으로 사용하려면 다른 방법이 필요하지 않습니다.
그러나 사용자가 다운로드가 완료되어 처리 될 때까지 기다릴 수 있다면 스레드가 필요하지 않습니다.
관련 문제
- 1. GUI를 멈추지 않고 AudioQueue를 재생하는 방법은 무엇입니까?
- 2. Java Swing GUI를 대체 할 수있는 옵션은 무엇입니까?
- 3. 좋은 도구 안드로이드에서 GUI를 개발?
- 4. C : 멈추지 않고 대기하는 소켓
- 5. SQL에서 왼쪽 조인을 대체 할 수있는 방법
- 6. 멈추지 않고 CCMoveTo의 목적지를 변경하십시오.
- 7. XML을 처리 할 수있는 C++ 용 괜찮은 도구/라이브러리?
- 8. UML을 대체 할 수있는 대안
- 9. 작은 크기의보고 도구 (시설)
- 10. 대체 .NET 개발 도구
- 11. SilverlightSpy 대체 도구
- 12. iframe을 대체 할 수있는 방법이 있습니까?
- 13. MVCTurbine에서 Application_Start를 대체 할 수있는 것은 무엇입니까?
- 14. 대체 XAML 제작 도구?
- 15. 실행 파일을 멈추지 않고 VB.net 코드 편집하기
- 16. 명령 줄 프로그램 용 GUI를 생성하는 도구
- 17. 내 cuke4duke 테스트가 멈추지 않고 종료되지 않습니다.
- 18. 큰 문자열의 작은 조각 대체
- 19. 공간적으로 사고 할 수있는 도구/기술
- 20. HTTP 헤더를 추가 할 수있는 도구
- 21. 자바에서 예외를 처리 할 수있는 편리한 방법
- 22. 최상의 언어/도구 Windows에서 GUI를 개발하는 방법
- 23. 스위치 문을 대체 할 수있는 유연한 디자인
- 24. Perl에서 split을 대체 할 수있는 방법은 무엇입니까?
- 25. Mechanize를 Python으로 대체 할 수있는 방법이 있습니까?
- 26. jQuery에서 .ajax를 대체 할 수있는 방법은 무엇입니까?
- 27. .NET의 CryptoStream을 대체 할 수있는 대안?
- 28. Flex에서 컨트롤을 처리 할 수있는 시점은 언제입니까?
- 29. 백그라운드를 변경하지 않고 작업을 시작합니다.
- 30. 인터벌을 처리 할 때 switch와 같은 것으로 대체 할 수있는 우아한 방법이 있습니까?
각 단추 누르기마다 별도의 스레드가 필요합니까 아니면 모든 이벤트를 관리하기 위해 하나의 스레드를 큐와 함께 사용할 수 있습니까? –