/ / So erstellen und implementieren Sie eine ThreadPool-Typ-Klasse ordnungsgemäß in Java - Java, Multithreading, Threadpool

Wie man eine ThreadPool-Klasse in Java richtig erstellt und implementiert - Java, Multithreading, Threadpool

Ich würde gerne meine eigene ThreadPool-Typ-Klasse in Java erstellen (ich habe es in der Vergangenheit versucht und habe immer wieder gleichzeitige Ausnahmen bekommen - ich habe den spezifischen Fehler vergessen) und ich komme wieder zurück.

Dies wäre im laufenden Betrieb leicht zu erstellenverschiedene Threads, um verschiedene Prozesse gleichzeitig auszuführen, und wenn eine Aufgabe in dem Thread beendet ist, an den sie übergeben wurde, wird sie wiederverwendet und für einen anderen Zweck wiederverwendet. Dies ist für eine 2D-Engine in Java, die ich selbst codiert habe.

Dies würde für Dinge wie Kollision, Audio, Animationsmanagement, Timing, Steuerelemente usw. verwendet werden.

Problem: Beim letzten Versuch habe ich eine ThreadPool-Klasse erstellt, die ein Array vom Typ "AudioThread" (oder ähnliches) enthielt, das eine innere Klasse war, die die "run" -Methode überschrieb. Beim Erstellen einer ThreadPool-Klasse würde ich eine Anzahl von Threads übergeben, die erstellt werden sollen und die zur späteren Bearbeitung im Array gespeichert werden.

Ich würde dann versuchen, Methoden wie "assignTask (ThreadTask-Task)", "freeThread ()", getFreeThread () zu erstellen. etc. Aber durch die Änderungen an den Threads bekam ich gleichzeitig Fehler.

Fazit: Hat jemand Erfahrung mit der Erstellung einer ThreadPool-Typenklasse, die Erfahrung bietet, was ich kann und nicht kann? Vorschläge zur Behebung dieses Problems? Rat? Gedanken?

Vielen Dank.

Antworten:

1 für die Antwort № 1

Sie möchten wahrscheinlich verwenden ThreadPoolExecutor. Es klingt wie es genau das tut, was Sie wollen.