OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // spawns multiple isolates and sends unresolved ports between them. | 5 // spawns multiple isolates and sends unresolved ports between them. |
6 #library('unresolved_ports'); | 6 #library('unresolved_ports'); |
| 7 #import('dart:isolate'); |
7 | 8 |
8 // This test does the following: | 9 // This test does the following: |
9 // - main spawns two isolates: 'tim' and 'beth' | 10 // - main spawns two isolates: 'tim' and 'beth' |
10 // - 'tim' spawns an isolate: 'bob' | 11 // - 'tim' spawns an isolate: 'bob' |
11 // - main starts a message chain: | 12 // - main starts a message chain: |
12 // main -> beth -> tim -> bob -> main | 13 // main -> beth -> tim -> bob -> main |
13 // by giving 'beth' a send-port to 'tim'. | 14 // by giving 'beth' a send-port to 'tim'. |
14 | 15 |
15 bethIsolate(ReceivePort port) { | 16 bethIsolate(ReceivePort port) { |
16 port.receive((msg, reply) => msg[1].send( | 17 port.receive((msg, reply) => msg[1].send( |
(...skipping 23 matching lines...) Expand all Loading... |
40 | 41 |
41 Isolate2 tim = new Isolate2.fromCode(timIsolate); | 42 Isolate2 tim = new Isolate2.fromCode(timIsolate); |
42 Isolate2 beth = new Isolate2.fromCode(bethIsolate); | 43 Isolate2 beth = new Isolate2.fromCode(bethIsolate); |
43 | 44 |
44 beth.sendPort.send( | 45 beth.sendPort.send( |
45 // because tim is created asynchronously, here we are sending an | 46 // because tim is created asynchronously, here we are sending an |
46 // unresolved port: | 47 // unresolved port: |
47 ["main says: Beth, find out if Tim is coming.", tim.sendPort], | 48 ["main says: Beth, find out if Tim is coming.", tim.sendPort], |
48 port.toSendPort()); | 49 port.toSendPort()); |
49 } | 50 } |
OLD | NEW |