MainThread und Console-Anwendungen

N

nxthor

Neues Mitglied
Thread Starter
Dabei seit
05.09.2005
Beiträge
7
Reaktionspunkte
0
Hi!
Ich habe folgendes Problem:
Zu Meinem Programm mit GUI und ViewControllerModel- Aufbau will ich per configuration auch ohne GUI starten.... dazu habe ich mir bislang die main.mm umgebaut, und das return NSApplication vermieden, um in der Console zu bleiben, und keine Fenster zu öffnen. Jedoch habe ich nun das Problem, das der MainThread natürlich nach starten aller Sub-Threads, die befehle auf dem Mainthread ausführen, terminiert, und das Programm schlicht weg fertig ist, und aus die Maus....

Habe ich was übersehen? wie kann ich den MainThread aufhalten zu terminieren, ohne dass er keine Befehle aus anderen Threads via performOnMainThread: annimmt? (ein einfaches cin reicht nicht, dann blockiert das cin die neuen Aufrufe...)

Grüße,
NX
 
Du musst ne Synchronisation des Hauptthreads mit den Subthreads einfügen.

Wie Du das machen musst, hängt von der art der Thread-erzeugung ab (NSThread, POSIX Threads etc.).

Am besten mal in die Dev-Doku schauen: stichwort Multithreading.

Der Hauptthread DARF sich erst beenden, nachdem alle Subthreads den Status FERTIG gemeldet haben.....
 
Hi!
Ich habe es mit einem konstruierten Lock gemacht (eine methode, die einen thraed darstellt hat einen NSLock gesetzt, und die Mainmethode versucht das auch auszuführen, was nicht gelingt, dadas Lock sitzt. Leider passierten immernoch keine Methodenaufrufe, die mit perfromOnMainThread aufgerufen werden - scheinbar ist der Mainthread immernoch gesperrt, weil er auf das Lock wartet.... MIT Gui klappt wunderbar, ich vermute deswegen, weil die NSApplication-Umgebung irgendwas tollen kann... gibt es kein Äquivalent zur NSApplication mit GUI im SInner einer Consolen-Application... die evtl die selbe Tolle Umgebung mitbringt?

Grüße,
NX
 
Zurück
Oben Unten