StandardIOStream zum beenden eines Programms verwenden?
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Xaymarehemals "Cgamer"Betreff: StandardIOStream zum beenden eines Programms verwenden? |
Do, Nov 22, 2012 16:49 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 |
||
Warbseite |
mpmxyz |
Sa, Nov 24, 2012 13:28 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 |
Sa, Nov 24, 2012 18:53 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