parbegin und parend
parbegin/parend ist eine Blockstruktur zur Darstellung von Parallelität.
Alle Anweisungen oder Blöcke innerhalb eines parbegin/parend-Blocks können parallel ausgeführt werden. Am parend wird gewartet, bis alle parallelen Zweige beendet sind.
Schema
parbegin
P1;
P2;
P3;
parend
Bedeutung:
P1,P2undP3können parallel starten.- Nach
parendgeht es erst weiter, wenn alle drei beendet sind.
Geschachtelte Blöcke
parbegin
begin
P1;
P2;
end
begin
P3;
P4;
end
parend
Innerhalb eines begin/end-Blocks laufen die Anweisungen sequentiell. Die beiden Blöcke selbst laufen parallel.
Unterschied zu fork/join
parbegin/parendist einfacher und blockorientiert.fork/joinist flexibler und erlaubt genauere Kontrolle, wann auf welchen Prozess gewartet wird.parbegin/parendkann zusätzliche Abhängigkeiten erzeugen, weilparendimmer auf alle Zweige des Blocks wartet.