queue einn wert weiter gehen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
bcit6k
User
Beiträge: 77
Registriert: Mittwoch 23. Juli 2008, 08:50

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
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
10111
User
Beiträge: 22
Registriert: Samstag 21. Februar 2009, 01:34

@bcit6k: Entnimm mit dem Kontroll-Threat doch einfach ein Element der Queue. Queues sind schließlich threat-sicher.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Leonidas hat geschrieben:Das völlige Fehlen von Großbuchstaben
Nicht gleich übertreiben: Am Anfang steht doch "Hallo" ... :D
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

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. ;)
10111
User
Beiträge: 22
Registriert: Samstag 21. Februar 2009, 01:34

@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:
BlackJack

Oh man, das klingt ja alles sehr bedrohlich… SCNR :-)
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

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...
Antworten