Verzeihen Sie mir, wenn die Frage albern klingt - ich fange gerade an, Executor zu verwenden.Executor-Dienst in Java -> wie man Einzel-Thread-Code zu Executor
Ich habe eine vorhandene Java-Anwendung, die Threads in dieser verwendet manner-- grundsätzlich eigenständige Threads 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;
}
Wie man es von oben sehen kann, gibt die Funktion einen neuen Thread.
nun in der main() Funktion des Programms, ein neuer Thread wird in dieser manner--
erstellttaskThread = spawnThread();
taskThread.start();
Was ich tun möchte, ist, einen Testamentsvollstrecker Service (feste Anzahl von Threads) erstellen -> und dann die Erstellung eines neuen Threads/Ausführung der Aufgabe durch den neuen Thread an diesen Executor übergeben.
Da ich zu Executor sehr neu bin, möchte ich wissen, wie ich den obigen Code ändere, so dass anstelle eines neuen separaten Threads stattdessen ein neuer Thread innerhalb des Thread-Pools erstellt wird. Ich kann keinen Befehl sehen, um einen Thread zu erstellen (innerhalb des Thread-Pools) -> übergebe die obige Aufgabe an diesen Thread (und nicht an einen Stand-alone-Thread wie oben).
Bitte lassen Sie mich wissen, wie Sie dieses Problem lösen können.
Wickeln Sie den Abschnitt "Ausführen" Ihres Threads in eine ausführbare Schnittstelle. Erstellen Sie einen Executor und bieten Sie ihm das Runnable an. Werfen Sie einen Blick auf die [Executor] (http://docs.oracle.com/javase/tutorial/essential/concurrency/executors.html) Spur für weitere Informationen – MadProgrammer