Hallo,
Ich habe mit mit TimerTask so einen ARt Scheduler gebaut der diverse Jobs im Hintergrund ausführt. Jetzt brauch ich dafür noch eine Bedienoberfläche…
Das Problem ist, dass ich nicht weiss wie ich an die Thread/Task Instanzen, die in einem Vector gespeichert sind, am besten rankomme:
Über einen Index 0 bis MaxLength(=Inhalt aller Elemente im Vector) Funktioniert nicht, da viel zu viel Zeit vergeht bis die Liste auf dem Monitor ausgegeben wird und bis man sich dann einen Task raussucht und diesen beendet bzw. verändert. (Sprich der Index verändert sich ständig in der Größe weil Elemente im Vector hinzukommen oder wegkommen, auch ohne Benutzereingabenn…) Wwenn der Nutzer auf Taks „5“ Klickt, und dieser als Parameter übergeben wird, liegt zu tausendprozentiger Wahrscheinlichkeit da nicht mehr das Vektorelement drunter das eigentlich drunter lag und am Monitor noch angezeigt wird. (zu synchronisieren macht keinen Sinn, sonst ist die ganze Thread Programmierung umsonst,da er sonst nur am Warten ist)
Jetzt könnte ich das natürlich mit einer Hastable machen, weil ich da einen „uniquen“ Key und Zugriff auf das Objekt habe,
ABER
Es gibt doch sicherlich eine Möglichkeit wie ich so eine Art Signatur eines Vektorobjektes bzw. vielmehr -->einer im Vektor als Element gespeicherten Objektinstanz bekommen kann.
Nur wie(evtl. ist das ganz einfach?) Es müsste eine Funktion sein, die ich für alle Elemente im Vektor aufrufe und die mir einen String (sozusagen einen Hashwert zurückliefert) Diesen kann ich dann als Parameter direkt nutzen und einfach dann später, egal wieviel sich geändert hat wieder entsprechend Rückwärts nach diesem suchen. Die IDs bzw. Länge des Vektors ändert sich, aber die im Vektor noch vorhandenen Signaturen der Objektinstanzen ja nciht. Somit müsste ich nur den Vektor einmal durchlaufen und könnte so den übereinstimmenden String/Hashwert finden. Geht das irgendwie, bzw. mit was ??
Vielleicht weiss das ja jemand, wäre echt super!
Danke
Julian