Mercurial > hg > Members > kono > Cerium
comparison example/renew_task/README @ 619:0decff4e867b
RenewTask removal
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 15 Nov 2009 02:02:30 +0900 |
parents | 4f5c64e713c7 |
children |
comparison
equal
deleted
inserted
replaced
618:360032cc500e | 619:0decff4e867b |
---|---|
7 Task 内で新たに Task を生成する。 | 7 Task 内で新たに Task を生成する。 |
8 以後、新たに生成された Task を RenewTask とする | 8 以後、新たに生成された Task を RenewTask とする |
9 | 9 |
10 | 10 |
11 ------------------------------------- | 11 ------------------------------------- |
12 RenewTask の生成 | 12 Task の生成 |
13 ------------------------------------- | 13 ------------------------------------- |
14 | 14 |
15 TaskPtr create_task(int TASK_ID); | 15 HTaskPtr create_task(int TASK_ID); |
16 | 16 |
17 これは PPE 内で使う | 17 これは PPE 内で使う |
18 | 18 |
19 manager->create_task(id); | 19 manager->create_task(id); |
20 | 20 |
25 Task 内部でこれらの関数にアクセスする際は、 | 25 Task 内部でこれらの関数にアクセスする際は、 |
26 | 26 |
27 smanager->create_task, smanager->add_inData, | 27 smanager->create_task, smanager->add_inData, |
28 | 28 |
29 というように、smanager から呼び出してください。 | 29 というように、smanager から呼び出してください。 |
30 これは、PPE 内での TaskManager と同じ感じです。一応 STaskManager って型です。 | 30 これは、PPE 内での TaskManager と同じです。 |
31 なお、smanager->spawn() というのはありません。そのまま実行されます。 | |
32 | 31 |
32 | |
33 注 SPU からは使えません... | |
33 | 34 |
34 ------------------------------------- | 35 ------------------------------------- |
35 RenewTask を待ちたい場合 | 36 RenewTask を待ちたい場合 |
36 ------------------------------------- | 37 ------------------------------------- |
37 | 38 |
42 | 43 |
43 このとき、TaskA が終了した時点で、PPE 側に 「TaskA が終了した」と送るのですが | 44 このとき、TaskA が終了した時点で、PPE 側に 「TaskA が終了した」と送るのですが |
44 場合によっては、TaskB が終了するまで待って、初めて TaskA 終了を | 45 場合によっては、TaskB が終了するまで待って、初めて TaskA 終了を |
45 通知したい時があると思います。そういうときは | 46 通知したい時があると思います。そういうときは |
46 | 47 |
47 TaskPtr taskB = smanager->create_task(TASK_B); | 48 HTaskPtr taskB = smanager->create_task(TASK_B); |
48 smanager->wait_task(taskB); | 49 taskB->spawn(); |
49 | |
50 としてください。PPE での wait_for と違い、複数に設定はできません。 | |
51 | 50 |
52 | 51 |
53 ------------------------------------- | 52 ------------------------------------- |
54 RenewTask の生成から実行までの時間 | 53 RenewTask の生成から実行までの時間 |
55 ------------------------------------- | 54 ------------------------------------- |