Difference between revisions of "Broadcast"

From Mesham
Jump to navigationJump to search
m
Line 9: Line 9:
 
== Example ==
 
== Example ==
  
  var a:Int::allocated[multiple[]];
+
  function void main() {
var p;
+
    var a:Int::allocated[multiple[]];
par p from 0 to 3 {
+
    var p;
    (a::broadcast[2]):=23;
+
    par p from 0 to 3 {
 +
      (a::broadcast[2]):=23;
 +
    };
 
  };
 
  };
  

Revision as of 14:18, 15 April 2013

Syntax

broadcast[root]

Semantics

This type will broadcast a variable amongst the processes, with the root (source) being PID=root. The variable concerned must either be allocated to all or a group of processes (in the later case communication will be limited to that group.)

Example

function void main() {
   var a:Int::allocated[multiple[]];
   var p;
   par p from 0 to 3 {
      (a::broadcast[2]):=23;
   };
};

In this example process 2 (the root) will broadcast the value 23 amongst the processes, each process receiving this value and placing it into their copy of a.

Since: Version 0.41b