StandardIOStream zum beenden eines Programms verwenden?
Übersicht
BlitzMax, BlitzMax NG
Beginners-Corner|
|
Xaymarehemals "Cgamer"Betreff: StandardIOStream zum beenden eines Programms verwenden? |
Antworten mit Zitat |
|---|---|---|
|
Moin,
Ich versuche derzeit eins meiner Konsolen Programme via StandardIOStream zu schließen. Das Problem hierbei ist, dass das Programm nicht anhalten darf, zumindest nicht zu lange (maximal 10ms). Soweit wie ich das verstanden habe ist StandardIOStream einfach nur ein TStream Objekt, wodurch ich doch eigentlich mit Size() und ReadByte() auf Buchstaben prüfen könnte. Dachte ich zumindest, denn funktionieren tut es nicht. Gibt es einen weg der das Programm nicht blockiert (bzw. wie könnte man sonst ein Konsolen Programm beenden)? Nicht blockierendes IO ist der Mittelpunkt des Programms, da dieses extrem viele Netzwerk Pakete annimmt und verarbeitet. Derzeitiger Code: BlitzMax: [AUSKLAPPEN] If StandardIOStream.Size() <> 0 Then |
||
|
Lorem Ipsum dollar irgendwas oder so.
Projekte: BlitzLLVM AMD Ryzen 7 9800X3D, NVIDIA GeForce RTX 4080 Super, 64GB DDR5, Arch Linux AMD Epyc 7313P, 2x NVIDIA Quadro P100S, 256GB DDR4-ECC, Debian |
||
|
|
mpmxyz |
Antworten mit Zitat |
|---|---|---|
|
Wäre es nicht möglich, diese Aufgabe in einem parallelen Thread auszuführen?
Der darf ja dann ruhig blockiert werden. |
||
|
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
||
|
|
count-doku |
Antworten mit Zitat |
|---|---|---|
|
Jup mpmxyz, das geht ohne Probleme.
Hatte selbiges Problem wie du Xaymar und habe es einfach durch nen zusätzlichen Thread gelöst. Der "Konsolen"Thread wartet einfach aufn Input und beendet sich im Falle dieses. Der Hauptthread prüft regelmäßig (ThreadRunning) ob der "Konsolen"Thread noch läuft, wenn nicht-> HT wird auch beendet. Klenes Beispiel: BlitzMax: [AUSKLAPPEN]
mfg, Count-Doku |
||
Übersicht
BlitzMax, BlitzMax NG
Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group
