Previous: Reducing, Up: Communication statements [Contents][Index]
coNCePTuaL enables sets of tasks to perform barrier synchronization. The semantics are that no task can finish synchronizing until all tasks have started synchronizing. The syntax is as follows:
<sync_stmt> | ::= | <source_task> |
SYNCHRONIZES |
A <sync_stmt> can be
used to ensure that one set of statements has completed before
beginning another set. For example, a coNCePTuaL program might have
a set of tasks post a series of asynchronous receives (see Receiving), then make ‘ALL
TASKS SYNCHRONIZE’ before having another set of tasks
perform the corresponding UNSUSPECTING
sends (see
Sending). This procedure ensures
that all of the target tasks are ready to receive before the source
tasks start sending to them.