Java Threading — приложение Swing

Я пытаюсь научиться обрабатывать класс (в частности, метод в классе), и я столкнулся с Thread() и SwingWorker(). Это качающееся приложение. Что мне выбрать и почему? Кроме того, есть ли какой-то общий способ добавить реализацию потоковой передачи к существующим методам?

Спасибо


person user1264737    schedule 12.03.2012    source источник
comment
Что говорит javadoc этих двух классов? Какой вывод?   -  person JB Nizet    schedule 12.03.2012


Ответы (3)


SwingWorker в основном предназначен для выполнения фоновых процессов в Java. Swing означает приложение на основе пользовательского интерфейса, например, при нажатии кнопки в пользовательском интерфейсе вы хотите, чтобы какой-то длительный процесс происходил в фоновом режиме. Поток обычно используется для многозадачности в Java-программах, таких как выполнение двух операций за раз. Поток может быть реализован из интерфейса Runnable, а также унаследован от класса потока. Проверьте документы Oracle Java.

person Abhishek Choudhary    schedule 12.03.2012

Использование Swingworkers, вероятно, упростит вам задачу, потому что оно предназначено для того, чтобы делать именно то, что вам нужно. На веб-сайте Oracle есть хорошее руководство, которое поможет вам начать работу. . По сути, в приложении Swing вам необходимо убедиться, что:

Свингворкеры очень хорошо справляются с этими двумя вещами.

person assylias    schedule 12.03.2012

Класс Thread — это основная часть, необходимая для создания потоков. JDK предоставляет либо «низкоуровневый» API (взгляните на класс Thread, интерфейс Runnable, синхронизированное ключевое слово, методы wait(), notify()), либо API более высокого уровня (SwingWorker, Timer, инфраструктура исполнителей).

Учебников в сети много. Сначала изучите основы. Прочтите javadoc Thread, найдите несколько примеров, поэкспериментируйте с ними. Затем пройдите через Timer и SwingWorker. Это будет просто. Затем, когда вы поймете, как это работает, не пожалейте времени на изучение исполнителей, пулов потоков и т. д.

Удачной нарезки!

person AlexR    schedule 12.03.2012