2013-12-04 7 views
0

Так же, как у нас есть AsyncTask в android, какие у нас есть возможности в Java для выполнения задачи, выполняющейся в фоновом режиме (разные темы), а также для простого общения с основной темой.Выполнение фоновой задачи в java

я нашел вещи, как

1.Worker Нити и

2.swing рабочих

, пожалуйста, дайте мне знать, если это правильные классы, чтобы сделать такую ​​работу, а также, что еще я может использовать, чтобы сделать выше упоминание работы

+1

Swingworkers хороши только для настольных приложений с использованием swing. – fane89

+0

Вы говорите о Java вообще или связаны с каким-либо конкретным набором инструментов пользовательского интерфейса, например AWT, Swing, SWT, JFace, ...? – isnot2bad

+0

Нет, я говорю о java вообще, для выполнения фонового обсуждения, какой класс должен использовать? – Khay

ответ

2

Для Многопоточность/постановки задач в целом, Java, имеет потрясающую поддержку параллелизма. Проверьте java.util.concurrent. И общаться с основной нитью возможно java.util.obsever и java.util.observable.

0

Для многопоточности/выполнения задач в целом, Java имеет потрясающую поддержку параллелизма. Проверьте java.util.concurrent. И общаться с основной нитью возможно java.util.obsever и java.util.observable.

1

Если вам нужны параллельные задачи в целом (не связанные с каким-либо набором инструментов пользовательского интерфейса), и вы не используете alrady фреймворк, который предлагает некоторые механизмы параллелизма на высоком уровне (например, API закладок eclipse), вам следует взглянуть на упаковке java.util.concurrent - особенно Executor и ExecutorService.

Пример:

ExecutorService executor = Executors.newFixedThreadPool(numberOfThreads); 

// somewhere else: 
executor.execute(myRunnableTask); // myRunnableTask is a Runnable 

// or, if you want to have more control 
Future<Double> futureResult = executor.submit(myCallableCalculation); 
// ... 
Double result = futureResult.get(); // waits until calculation completes 

Смотрите также:

Смежные вопросы