parallele Programme



  • hey,
    basierend auf dem Graphen soll ich ein Programm in Pseudocode schreiben, das soweit wie möglich Funktionen parallel ausführt

    http://img219.imageshack.us/my.php?image=techgi3qc7.jpg
    

    ich kann leider kein fork/join u. parbegin/parend benutzen. Bis jetzt ist mir klar geworden, dass 2 Aktionen nebenläufig sind, wenn keine von ihnen Voraussetzung der anderen ist. Nun weiss ich nicht wie ich das schreiben soll..
    danke im Voraus für welche Hinweise



  • blacha23 schrieb:

    ich kann leider kein fork/join u. parbegin/parend benutzen.

    Nimm CreateThread.



  • int main (void){
    int a,b,c,d,e,f,g,h,i

    a
    createThread (b,c)
    createThread (d,e)
    f
    createThread (g,h)
    i
    }

    so was wird gehen oder eher nicht?



  • Nee,

    hier ist von Pseudocode die Rede, also musst du nicht unbedingt C++ als Code nehmen.

    Im ersten Schritt kann du den Pseudocode folgendermaßen aufschreiben:

    1.) Führe Anweisungsblock A aus
    2.) Erzeuge Threads B und C
    3.) Starte Threads B und C
    4.) Warte bis die Threads B und C terminiert sind
    5.) Erzeuge Threads D und E
    6.) Starte Threads D und E
    ...

    Danach musst du je nach Aufgabenstellung deinen Pseudocode erweitern/verfeinern. Denn wie stellt
    man beispielsweise fest ob zwei Threads terminiert sind ? Was bedeuten die Verbindungen zwischen
    B, C, D, E ? Wenn der Thread B terminiert, werden dann die Threads D, E gestartet ? (In meinem
    Pseudocode gehe ich davon aus das B und C terminieren müssen bevor D und E gestartet werden)


Anmelden zum Antworten