RosettaCodeData/Task/Metered-concurrency/ALGOL-68/metered-concurrency.alg
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

13 lines
290 B
Text

SEMA sem = LEVEL 1;
PROC job = (INT n)VOID: (
printf(($" Job "d" acquired Semaphore ..."$,n));
TO 10000000 DO SKIP OD;
printf(($" Job "d" releasing Semaphore"l$,n))
);
PAR (
( DOWN sem ; job(1) ; UP sem ) ,
( DOWN sem ; job(2) ; UP sem ) ,
( DOWN sem ; job(3) ; UP sem )
)