1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52

content / test / data / workers / multi_worker.html [blame]

<html>

<head>
<title>Multi-Worker Test</title>

<script src="worker_utils.js"></script>

<script>

var expected_total = 0;
var actual_total = 0;
var completed_worker_count = 0;
var total_workers = 4;

function createWorker(base) {
  var worker = getWorker("worker_common.js");
  for (var i = 0; i < 100; i++) {
    worker.postMessage("eval " + base + "+" + i);
    expected_total += base + i;
  }
  worker.postMessage("ping");
  worker.onmessage = function(evt) {
    if (evt.data == "pong") {
      completed_worker_count++;
      if (completed_worker_count == total_workers) {
        if (expected_total == actual_total)
          onSuccess();
        else
          onFailure();
      }
    } else {
      try {
        actual_total += parseInt(evt.data);
      } catch (ex) {
        onFailure();
      }
    }
  }
  return worker;
}

for (var i = 0; i < total_workers; ++i) {
  var worker = createWorker(100 + i);
}

</script>
</head>

<body>
<div id=statusPanel></div>
</body>
</html>