Seite 1 von 1

queue einn wert weiter gehen

Verfasst: Freitag 3. April 2009, 09:55
von bcit6k
Hallo,

ich habe folgendes skript.

ich befülle eine queue mit werten ,dann starte ich einen treat ther die werter in der queue abarbeitet. gleichzeitig starte ich einen zweiten threat der den ersten überwacht. damit der erste einen bestimmten zeitwert nicht überschreitet. nun müsste der zweite threat nach ablauf der zeit im ersten threat die queue einen wert weiter schieben.

leider weis ich nicht iwe das geht mit welcehm befehl. kann mir da jemand einen tipp geben?

danke

Re: queue einn wert weiter gehen

Verfasst: Freitag 3. April 2009, 10:13
von numerix
bcit6k hat geschrieben:kann mir da jemand einen tipp geben?
Ist jetzt vielleicht nicht der Tipp, auf den du gewartet hast, aber ein Tipp wäre, den geposteten Text noch einmal selbst zu lesen, bevor man den [Absenden]-Knopf drückt ... :wink:

Verfasst: Freitag 3. April 2009, 11:04
von Leonidas
Also irgendwie verstehe ich auch nicht sonderlich was du da genau machen willst. Das völlige Fehlen von Großbuchstaben macht den Text nicht verständlicher und dass du entweder threat oder treat schreibst hat eher humoristischen denn informativen Wert.

Verfasst: Freitag 3. April 2009, 11:49
von 10111
@bcit6k: Entnimm mit dem Kontroll-Threat doch einfach ein Element der Queue. Queues sind schließlich threat-sicher.

Verfasst: Freitag 3. April 2009, 13:05
von numerix
Leonidas hat geschrieben:Das völlige Fehlen von Großbuchstaben
Nicht gleich übertreiben: Am Anfang steht doch "Hallo" ... :D

Verfasst: Freitag 3. April 2009, 13:55
von jerch
Zum Glück versteht man ja doch einwenig Deines Anliegens, der Redundanz sei Dank.

Die get()-Methode des Queue-Objektes unterstützt einen Timeout, damit könntest Du die Rückgabe zumindest timern (z.B. indem Du die Exception abfängt und was anderes zurückgibst.) Das ist aber unpraktikabel, da der Thread später das Ergebnis trotzdem in die Queue setzen würde und Du schlimmstenfalls nicht mehr wüßtest, welches Ergebnis da jetzt anliegt. Um den Thread einen Wert in der Queue "weiterschieben" zu können, mußt Du die Threadaufgabe aufteilen, und mittels Schleifendurchläufe auf eine Abbruchvariable testen (die kannst Du von außen setzen). Ein Thread läßt sich von außen nicht anhalten, er muß da schon selber darauf kommen (eben durch die Variable). Braucht eine Unteraktion im Thread zu lange, ist der Thread für Dich quasi unbrauchbar geworden.

Ohne genauere Kenntnis Deines Vorhabens läßt sich das nicht besser beantworten.

@23:
Damit würde er ja das nächste überspringen, so wie ich es verstanden habe, möchte er einen timeout auf die Aktion des aktuellen Queue-Elementes und bei timeout eben das nächste abarbeiten.

@bcit6k:
Die Dada-Formatierung Deines Postes ist nicht gerade hilfreich. ;)

Verfasst: Freitag 3. April 2009, 18:39
von 10111
@jerch: Ich hab das so verstanden: Threat A holt sich eine Aufgabe. Threat B kontrolliert die Zeit. Braucht A zu lange, kann er die nächste Aufgabe zeitlich nicht erledigen und sie wird durch Threat B verworfen.

@bcit6k: Du solltest vielleicht dein Problem mal genauer beschreiben. Leider sind unsere Kristallkugeln gerade zur Reinigung. :wink:

Verfasst: Freitag 3. April 2009, 21:11
von BlackJack
Oh man, das klingt ja alles sehr bedrohlich… SCNR :-)

Verfasst: Samstag 4. April 2009, 00:00
von jerch
Die Welt ist am Rande des Abgrundes, will das denn keiner sehen? :shock: :shock: Oje, mein Bier ist leer....

@10111:
Hm, das Rumorakeln hat halt wenig Sinn..., solange der OP sich hierüber ausschweigt, haben wir beide Recht. EINS+!!!

Oh mann, das Bier verwindet meine Gehirnung...