Difference between revisions of "Blocking"
From Mesham
Jump to navigationJump to searchm |
|||
Line 9: | Line 9: | ||
== Example == | == Example == | ||
− | var a:Int::allocated[single[on[1]]]; | + | function void main() { |
− | + | var a:Int::allocated[single[on[1]]]; | |
− | + | var b:Int::allocated[single[on[2]]] :: blocking[]; | |
+ | a:=b; | ||
+ | }; | ||
The P2P communication (send on process 2 and receive on process 1) resulting from assignment ''a:=b'' will force program flow to wait until it has completed. The ''blocking'' type has been omitted from the that of variable ''a'', but is used by default. | The P2P communication (send on process 2 and receive on process 1) resulting from assignment ''a:=b'' will force program flow to wait until it has completed. The ''blocking'' type has been omitted from the that of variable ''a'', but is used by default. |
Revision as of 14:17, 15 April 2013
Syntax
blocking[ ]
Semantics
Will force P2P communication to be blocking, which is the default setting
Example
function void main() { var a:Int::allocated[single[on[1]]]; var b:Int::allocated[single[on[2]]] :: blocking[]; a:=b; };
The P2P communication (send on process 2 and receive on process 1) resulting from assignment a:=b will force program flow to wait until it has completed. The blocking type has been omitted from the that of variable a, but is used by default.
Since: Version 0.5