Requisito previo: introducción de la sincronización de procesos La declaración
PARBEGIN/PAREND es una construcción de lenguaje de nivel superior para especificar la concurrencia. Todas las sentencias pueden ejecutarse al mismo tiempo, las que están encerradas entre PARBEGIN y PAREND . Se utiliza en el modelado de gráficos de precedencia. Se utiliza como alternativa a la sentencia FORK/JOIN.
Nota:
PARBEGIN/PAREND también se denomina COBEGIN/COEND.
Considere el siguiente programa:
S0; PARBEGIN; S1; S2; ... Sn-1; PAREND; Sn;
El programa anterior es equivalente al siguiente gráfico de precedencia.
Ejemplo:
construya el gráfico de precedencia para el siguiente programa parbegin/parend.
begin S1; parbegin S3; begin S2; parbegin S4; S5; parend; S6; end; parend; S7; end;
Explicación :
También podemos Parbegin dos procesos :
Vacío P( ) Vacío Q( )
{ {
A; D;
B; MI;
C; }
}
Siempre se mantiene el orden relativo entre los enunciados de P & Q
Ventajas de Parbegin/Parend –
- Es una estructura de bloque de lenguaje de alto nivel.
- Tiene la ventaja de las sentencias de control estructuradas.
- El mecanismo de semáforos es también una de las ventajas.
Desventajas de Parbegin/Parend –
- No es lo suficientemente potente como para modelar todos los gráficos de precedencia posibles.
- Es menos potente que la construcción FORK/JOIN en el gráfico de precedencia de modelado.