Простите меня, если вопрос звучит глупо - я только начинаю использовать Executor.Служба-исполнитель в java -> как конвертировать код с одним потоком для использования исполнителем
У меня есть существующий приложение Java, которое использует потоки в этом manner-- основном автономные потоки used--
private Thread spawnThread()
{
Thread t = new Thread()
{
String taskSnap = task.toString();
public void run()
{
try
{
println(task.run(null));
}catch(InterruptedException e)
{
println("ITC - " + taskSnap + " interrupted ");
}
}
};
return t;
}
Как видно из сказанного выше, функция возвращает новый поток.
Теперь в главной функции() программы, новый поток создается в этом manner--
taskThread = spawnThread();
taskThread.start();
Что я хочу сделать, это, создать службу ИСПОЛНИТЕЛЬ (с фиксированным числом нитей) ->, а затем передать создание нового потока/выполнение задачи новым потоком этому исполнителю.
Поскольку я очень новичок в Executor, я хочу знать, как изменить приведенный выше код, чтобы вместо нового отдельного потока был создан новый поток в пуле потоков. Я не вижу никакой команды для создания потока (внутри пула потоков) -> передать указанную выше задачу этому потоку (а не отдельному потоку, как указано выше).
Пожалуйста, дайте мне знать, как решить эту проблему.
Оберните раздел «run» вашей нити в интерфейсе Runnable. Создайте исполнителя и предложите Runnable. Просмотрите страницу [Исполнитель] (http://docs.oracle.com/javase/tutorial/essential/concurrency/executors.html) для получения дополнительной информации – MadProgrammer