Parallel Operator¶
Syntax¶
Semantics¶
process1 ||| process2
The processes 1 and 2 run independently in parallel.
No synchronization between the processes is required.
Of course, the processes might communicate with each other.
When both processes have exited then parallel composition exits
Examples¶
The statement
ChannelId1 ? x ||| ChannelId2 ? y
describes the process that can, in any order, do the following two things:
Communicate variable x over ChannelId1
Communicate variable y over ChannelId2
The process ends when both communications have occurred.
In other words, the following three behaviours can be observed:
First 1 then 2 |
ChannelId1 ? x >-> ChannelId2 ? y |
First 2 then 1 |
ChannelId2 ? y >-> ChannelId1 ? x |
Synchronously |
ChannelId1 ? x | ChannelId2 ? y |