Perdonami se la domanda sembra sciocca - Sto solo iniziando a usare Executor.Executor service in java -> come convertire il codice single thread per utilizzare executor
Ho un app java esistente che utilizza i thread in questo manner-- fondamentalmente le discussioni standalone sono 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;
}
Come si può vedere da sopra, la funzione restituisce un nuovo thread.
Ora nella funzione main() del programma, un nuovo thread viene creato in questo manner--
taskThread = spawnThread();
taskThread.start();
Quello che voglio fare è, creare un servizio di esecutore (con il numero fisso di thread) -> e quindi passare la creazione di nuovo thread/esecuzione di attività dal nuovo thread a quell'esecutore.
Dato che sono molto nuovo per Executor, quello che desidero sapere è, come cambio il codice precedente in modo che invece di un nuovo thread separato venga creato, un nuovo thread viene invece creato all'interno del pool di thread. Non riesco a visualizzare alcun comando per creare un thread (all'interno del pool di thread) -> distribuisci l'attività precedente su quel thread (e non su un thread autonomo come sopra).
Per favore fatemi sapere come risolvere questo problema.
Avvolgi la sezione "Esegui" della discussione in un'interfaccia Runnable. Crea un esecutore e offri il Runnable. Dai un'occhiata al sentiero [Executor] (http://docs.oracle.com/javase/tutorial/essential/concurrency/executors.html) per maggiori informazioni – MadProgrammer