[c++] elke thread zijn eigen outputvenster

Pagina: 1
Acties:

  • mandroid
  • Registratie: Juli 2002
  • Laatst online: 01-02 07:50
Hey,

Ik ben bezig met een programma waarin verschillende threads lopen. Elke thread heeft zn eigen output en die komen nu allemaal in 1 output dos venster terecht, nu loopt dat allemaal door elkaar, vrij onoverzichtelijk dus. Is het mogelijk om elke thread z'n eigen output dos venster te geven, en zoja hoe ?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:56

gorgi_19

Kruimeltjes zijn weer op :9

Zie P&W FAQ - De "quickstart"

Wat heb je tot nu toe zelf al gevonden c.q. geprobeerd? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Open een window wanneer je iedere thread start?

code:
1
2
       int  clone(int  (*fn)  (void  *),  void  *child_stack, int
       flags, void *arg)

Je moet toch een functiepointer opgeven, dus pruts 't daarin ?

Verwijderd

Uit de AllocConsole Docs

code:
1
2
Remarks
A process can be associated with only one console, so the AllocConsole function fails if the calling process already has a console.


Dus helaas je zal naar een andere oplossing moeten zoeken? (wellicht iedere thread z'n eigen window met een textbox er in ofzo?)

of gewoon what synchonization zodat een thread niet naar console schrijft maar wacht tot dat een andere thread daar mee klaar is.

[ Voor 19% gewijzigd door Verwijderd op 09-04-2005 12:25 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Standaard C++ kent maar een thread. Windows en Unix hebben er meerdere, maar die hebben in principe beide de restrictie van 1 console per applicatie. Nu is een eigen console window snel gebakken, en std::cout kun je makkelijk redirecten (std::streambuf). Gebruik thread-local storage om in je eigen streambuf elk karakter in een aparte buffer te stoppen, en je bent klaar.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein