blacha23 Geschrieben 13. November 2008 Teilen Geschrieben 13. November 2008 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. November 2008 Teilen Geschrieben 13. November 2008 hey, basierend auf dem Graphen soll ich ein Programm in Pseudocode schreiben, das soweit wie möglich Funktionen parallel ausführt Warum postest Du dann in C/C++ wenn es Pseudocode sein soll? Ich verstehe aber definitiv noch nicht so ganz das Problem. Im Grunde kann ich das z.B. via Threads lösen, die synchronisiert werden Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 13. November 2008 Teilen Geschrieben 13. November 2008 ich kann leider kein fork/join u. parbegin/parend benutzen. Ich finde es etwas seltsam, dass du bei einer Pseudocode-Aufgabe irgendwelche konkreten Implementierungen explizit nicht benutzen darfst. Was darfst du denn benutzen? Hast du da ähnlich konkrete Anweisungen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
blacha23 Geschrieben 13. November 2008 Autor Teilen Geschrieben 13. November 2008 (bearbeitet) threads sind erlaubt, 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? Bearbeitet 13. November 2008 von blacha23 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 13. November 2008 Teilen Geschrieben 13. November 2008 so was wird gehen oder eher nicht?Du darfst nicht vergessen, an den Stellen, an denen die parallelen Operationen wieder zusammenlaufen, auf die jeweiligen Threads zu warten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
blacha23 Geschrieben 13. November 2008 Autor Teilen Geschrieben 13. November 2008 int main (void){ int a,b,c,d,e,f,g,h,i a createThread1 (b,c) wait Thread2,Thread3 createThread2 (d,e) wait Thread3 f createThread3 (g,h) i } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 13. November 2008 Teilen Geschrieben 13. November 2008 Du brauchst nur einen neuen Thread für b oder c, nicht für beide. Außerdem ist es nicht sonderlich sinnvoll, auf einen Thread zu warten, bevor du ihn startest. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
blacha23 Geschrieben 13. November 2008 Autor Teilen Geschrieben 13. November 2008 int main (void){ int a,b,c,d,e,f,g,h,i a createThread1 ( wait Thread1 createThread2 © wait Thread2 createThread3 (d) wait Thread3 createThread4 (e) wait Thread4 f createThread5 (g) wait Thread5 createThread6 (h) wait Thread5 i } na ja, aber wie führe ich dann die threads die gewartet haben mit den anderen zusammen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 13. November 2008 Teilen Geschrieben 13. November 2008 int main (void){ int a,b,c,d,e,f,g,h,i a createThread1 ( wait Thread1 createThread2 © wait Thread2 createThread3 (d) wait Thread3 createThread4 (e) wait Thread4 f createThread5 (g) wait Thread5 createThread6 (h) wait Thread5 i }Wenn du jeden Thread startest und gleich danach darauf wartest, führst du doch wieder nur alles nacheinander aus. Ich würde das so machen: Ausführen: aThread starten: bAusführen: cWarten auf b-Thread usw. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.