Difference between revisions of "Blocking"

From Mesham
Jump to navigationJump to search
m
Line 9: Line 9:
 
== Example ==
 
== Example ==
  
  var a:Int::allocated[single[on[1]]];
+
  function void main() {
var b:Int::allocated[single[on[2]]] :: blocking[];
+
    var a:Int::allocated[single[on[1]]];
a:=b;
+
    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