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
queue einn wert weiter gehen
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 ...bcit6k hat geschrieben:kann mir da jemand einen tipp geben?
-
- 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
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.
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.
@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.
@bcit6k: Du solltest vielleicht dein Problem mal genauer beschreiben. Leider sind unsere Kristallkugeln gerade zur Reinigung.
Die Welt ist am Rande des Abgrundes, will das denn keiner sehen? 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...
@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...