📜  Parbegin / Parend并发声明

📅  最后修改于: 2021-08-27 07:35:09             🧑  作者: Mango

先决条件–流程同步介绍
PARBEGIN / PAREND语句是用于指定并发性的高级语言构造。所有语句可以并发执行,这些语句包含在PARBEGINPAREND之间。用于建模优先级图。它用作FORK / JOIN语句的替代方法。

笔记 –
PARBEGIN / PAREND也称为COBEGIN / COEND。

考虑以下程序:

S0;
PARBEGIN;
   S1;
   S2;
   ...
   Sn-1;
PAREND;
Sn;

上面的程序等效于下面的优先级图。

例子 –
为以下parbegin / parend程序构造优先级图。

begin
S1;
      parbegin
      S3;
      begin
      S2;
            parbegin
            S4;
            S5;
            parend;
            S6;
      end;
      parend;
S7;
end;

解释 :

我们还可以Parbegin两个过程

空隙P()空隙Q()

{{

一种; D;

B; E;

C; }

}

P&Q语句之间的相对顺序始终保持不变

Parbegin / Parend的优势–

  • 这是一种高级语言块结构。
  • 它具有结构化控制语句的优势。
  • 信号量机制也是优点之一。

Parbegin / Parend的缺点–

  • 它无法对所有可能的优先级图进行建模。
  • 在建模优先级图中,它不如FORK / JOIN构造强大。