2012-03-12 5 views
0

클래스 (특히 클래스의 메서드)를 스레드하는 방법을 배우려하고 Thread()SwingWorker()을 발견했습니다. 이것은 스윙 응용 프로그램입니다. 내가 선택해야하는 이유는 무엇입니까? 또한 기존 메서드에 대한 스레딩 구현을 추가하는 일반적인 방법이 있습니까? 정확히 무엇을해야하는 것을 의미하기 때문에Java 스레딩 - 스윙 응용 프로그램

감사

+3

이 두 클래스의 javadoc은 무엇을 말합니까? 너는 무엇을 결론 지을 까? –

답변

1

SwingWorker는 주로 Java에서 백그라운드 프로세스를 실행하는 데 사용됩니다. SwingWork는 UI 기반 애플리케이션을 의미합니다. UI에서 Button을 누르는 것처럼 백그라운드에서 긴 프로세스가 발생하기를 원합니다. 스레드는 일반적으로 자바 프로그램에서 멀티 태스킹을하는 데 사용됩니다. 스레드는 Runnable 인터페이스에서 구현 될 수 있으며 thread 클래스에서 상속 될 수도 있습니다. Oracle Java Docs를 확인하십시오.

0

사용 SwingWorkers의 아마 쉽게처럼 만들 것입니다. 오라클의 웹 사이트에는 시작하기 좋은 tutorial이 있습니다. GUI를와 상호 작용

  • 뭐든지 동부 서머 타임에 실행되지 않습니다 EDT (Event Dispatch Thread)
  • 긴 작업에서 실행

    그들이 할 경우가 동결 때문에 : 은 본질적으로, 스윙 응용 프로그램에서, 당신은 있는지 확인해야 계산이 실행되는 동안의 GUI

스윙 작업자는이 두 가지를 잘 처리합니다.

0

클래스 Thread은 스레드를 만드는 데 필요한 기본 조각입니다. JDK는 "로우 레벨"API (Thread 클래스, Runnable 인터페이스, synchoronized 키워드, 메소드 wait(), notify()) 또는 상위 레벨 API (SwingWorker, Timer, executor 프레임 워크) 중 하나를 제공합니다.

웹에 많은 자습서가 있습니다. 먼저 기초를 배웁니다. Thread의 javadoc을 읽고, 몇 가지 예제를 찾아서 함께 플레이해라. 그런 다음 Timer와 SwingWorker를 살펴보십시오. 그것은 간단합니다. 그런 다음 어떻게 실행되는지를 이해하면 집행자, 스레드 풀 등을 공부하는 데 시간을 투자 할 수 있습니다.

해피 스레드!

관련 문제