Checkpoint synchronization: Difference between revisions

m
Line 1,430:
func: checkPoint(n, jobs, channels)
{
| i ch |
while(true) [
n loop: i #[ jobs receive drop ] times(n)
"CHECKPOINT : All jobs done, sending done to all tasks" println
channels forEach: ch apply(#[ send($done ch send) drop ])
]
}
Line 1,446 ⟶ 1,445:
#[ checkPoint(n, jobs, channels) ] &
n loop: i [ #[ task(i, jobs, channels at(i)) ] & ]
}</lang>
}
</lang>
 
=={{header|Perl}}==
1,015

edits