Parallele Programme mit gcc für Windows



  • Hallo Leute,

    habe mich mal wieder erst im Internet schlau gemacht und fleißig gegoogelt.
    Aber bin doch hier im "Experten Forum" gelandet, weil ich keine wirklich brauchbare Hilfe gefunden habe.
    Sodele, hier das Problem (mir langt am Anfang eine ganz einfache Lösung):

    Es gibt ein Programm Fehlerabfang(ausgabe und ein Main-Programm.
    Beide Programme dürfen sich nicht gegenseitig blockieren also klar die Idee beide Programmparts parllel laufen zulassen und eine Art Event-Handler zu implementieren.
    Unter Linux gibt es da den Begriff der Threads (mit fork, child Process) usw.
    Wie wird (erstmal unabhängig von der Linuxwelt) ein einfaches paralleles Programm aufgesetzt?
    Klar ist, für eine einfache Fehlerabhandlung kann ich das seriell machen lassen. Aber das wird dann schonnoch komplizierter 🙂 ... Deswegen erst der einfache Programmaufbau.

    Ich arbeite mit mingw unter Windows.

    Grüße aus dem regnerischen Bayern
    Tentone



  • Guck mal hier: WinAPI Threads



  • Tentone schrieb:

    Unter Linux gibt es da den Begriff der Threads (mit fork, child Process) usw.

    Unter Windows auch, aber kein fork(2). Unter Linux stehen dir ja auch noch Posix-Threads zur Verfügung.
    Windows bietet dir aber mit den Thread aus der WinAPI ähnliche (wenn nicht sogar fast gleiche?) Funktionalitäten.
    Zu Windows-Threads solltest du viele Infos (im WinAPI-Unterforum) finden können.

    Guter Punkt zum Anfangen: CreateThread 🙂

    Edit: zu spät...



  • Xantus schrieb:

    Tentone schrieb:

    Unter Linux gibt es da den Begriff der Threads (mit fork, child Process) usw.

    Unter Windows auch, aber kein fork(2). Unter Linux stehen dir ja auch noch Posix-Threads zur Verfügung.
    Windows bietet dir aber mit den Thread aus der WinAPI ähnliche (wenn nicht sogar fast gleiche?) Funktionalitäten.
    Zu Windows-Threads solltest du viele Infos (im WinAPI-Unterforum) finden können.

    Guter Punkt zum Anfangen: CreateThread 🙂

    Edit: zu spät...

    Danke,

    bin schon dabei mich einzulesen 🙂

    Gruß
    Tentone



  • Xantus schrieb:

    Edit: zu spät...

    du schreibst zu viel 😛



  • Tentone schrieb:

    Wie wird (erstmal unabhängig von der Linuxwelt) ein einfaches paralleles Programm aufgesetzt?

    es gibt verschiedene möglichkeiten, z.b.
    1. mit threads, sogenanntes preemptives multitasking. dabei wird ein programmteil vom kernel kurzzeitig suspendiert, um einen anderen ausführen zu können.
    2. mit protothreads, 'local continuation', damit werden threads auf systemen simuliert, die keinen multitasking-kernel haben.
    3. irgendwas selbstgebasteltes, basierend auf zustandsautomaten o.ä.
    4. bestimmt gibts noch mehr ideen
    http://www.sics.se/~adam/pt/
    http://www.nilsenelektronikk.no/nenesos.html
    🙂


Anmelden zum Antworten