Hallo,
ich habe gesucht und auch etliches gefunden jedoch keine echte Lösung für mein Problem.
Ich habe einen Thread der bis zu fünf Threads (nach selber festgelegten Prioritäten) verwalten
soll. Dazu habe ich mir überlegt, dass ich ein ThreadArray anlege in welchem ich die Referenzen
zu meinen Threads halte.
Es sollen die Threads aber immer sequentiell abgearbeitet werden, dazu gibt es die Prioritäten.
Jetzt möchte ich nur!! das Falls in meinem Array ein Thread mit höherer Priorität auftaucht,
den aktuellen (falls seine Prio niedriger ist) unterbrechen und den anderen ausführen, später
soll dann die Referenz des Unterbrochenen Threads wieder geladen und weiterverarbeitet werden.
Meine Ansätze waren bisher mit ReentrantLock und Timer zu arbeiten was keinen Erfolg brachte.
Die suspend- und notify-Methoden von Thread sind ja deprecated und bringen auch keinen Erfolg.
Dann hatte ich noch ein Beispiel gelesen wo geraten wurde in Thread Klassen die angehalten werden
sollen, stopflags zu setzten und abzufragen und später dort weiterzumachen, was in meinem Fall jedoch
sehr umständlich, unübersichtlich und aufwendig wäre.
Ich kann mir nicht vorstellen das das in Java so quasi unmöglich ist Threads anzuhalten und dann was anderes
zu machen und später wieder aufzunehmen. Ich habe ja schon eigene Prioritäten festgelegt da die von der
JVM ja nicht bei allen OS funktionieren.
Ich danke für jeden Tipp oder weiterführenden Link.
Grüße JavaPan
ich habe gesucht und auch etliches gefunden jedoch keine echte Lösung für mein Problem.
Ich habe einen Thread der bis zu fünf Threads (nach selber festgelegten Prioritäten) verwalten
soll. Dazu habe ich mir überlegt, dass ich ein ThreadArray anlege in welchem ich die Referenzen
zu meinen Threads halte.
Es sollen die Threads aber immer sequentiell abgearbeitet werden, dazu gibt es die Prioritäten.
Java:
Thread[] threadArray = new Thread[4]; // threadArray[0] = höchste Priorität
// threadArray[4] = niedrigste Priorität
den aktuellen (falls seine Prio niedriger ist) unterbrechen und den anderen ausführen, später
soll dann die Referenz des Unterbrochenen Threads wieder geladen und weiterverarbeitet werden.
Meine Ansätze waren bisher mit ReentrantLock und Timer zu arbeiten was keinen Erfolg brachte.
Die suspend- und notify-Methoden von Thread sind ja deprecated und bringen auch keinen Erfolg.
Dann hatte ich noch ein Beispiel gelesen wo geraten wurde in Thread Klassen die angehalten werden
sollen, stopflags zu setzten und abzufragen und später dort weiterzumachen, was in meinem Fall jedoch
sehr umständlich, unübersichtlich und aufwendig wäre.
Ich kann mir nicht vorstellen das das in Java so quasi unmöglich ist Threads anzuhalten und dann was anderes
zu machen und später wieder aufzunehmen. Ich habe ja schon eigene Prioritäten festgelegt da die von der
JVM ja nicht bei allen OS funktionieren.
Ich danke für jeden Tipp oder weiterführenden Link.
Grüße JavaPan