提交 7423d68c 编写于 作者: W wangzhaoyong

fixed c908555d from https://gitee.com/wang_zhaoyong/docs/pulls/14370

add concurrent(worker and taskpool) doc
Signed-off-by: Nwangzhaoyong <wangzhaoyong@huawei.com>
Change-Id: I5d1209a395fb05991ff47cfa8b508e37b8e809d2
上级 82ffe6a1
...@@ -64,6 +64,7 @@ function func(args) { ...@@ -64,6 +64,7 @@ function func(args) {
console.log("func: " + args); console.log("func: " + args);
return args; return args;
} }
let task = new taskpool.Task(func, "this is my first Task"); let task = new taskpool.Task(func, "this is my first Task");
``` ```
...@@ -116,7 +117,12 @@ function func(args) { ...@@ -116,7 +117,12 @@ function func(args) {
return args; return args;
} }
let value = taskpool.execute(func, 100); async function taskpoolTest() {
let value = await taskpool.execute(func, 100);
console.log("taskpool result: " + value);
}
taskpoolTest();
``` ```
## taskpool.execute ## taskpool.execute
...@@ -158,8 +164,14 @@ function func(args) { ...@@ -158,8 +164,14 @@ function func(args) {
console.log("func: " + args); console.log("func: " + args);
return args; return args;
} }
let task = new taskpool.Task(func, "this is my first Task");
let value = taskpool.execute(task); async function taskpoolTest() {
let task = new taskpool.Task(func, 100);
let value = await taskpool.execute(task);
console.log("taskpool result: " + value);
}
taskpoolTest();
``` ```
## taskpool.cancel ## taskpool.cancel
...@@ -193,9 +205,14 @@ function func(args) { ...@@ -193,9 +205,14 @@ function func(args) {
console.log("func: " + args); console.log("func: " + args);
return args; return args;
} }
let task = new taskpool.Task(func, "this is first Task");
let value = taskpool.execute(task); async function taskpoolTest() {
taskpool.cancel(task); let task = new taskpool.Task(func, 100);
let value = await taskpool.execute(task);
taskpool.cancel(task);
}
taskpoolTest();
``` ```
## 其他说明 ## 其他说明
...@@ -214,10 +231,18 @@ function func(args) { ...@@ -214,10 +231,18 @@ function func(args) {
return args; return args;
} }
let task = new taskpool.Task(func, "create task, then execute"); async function taskpoolTest() {
let val1 = taskpool.execute(task); // taskpool.execute(task)
let task = new taskpool.Task(func, "create task, then execute");
let val1 = await taskpool.execute(task);
console.log("taskpool.execute(task) result: " + val1);
let val2 = taskpool.execute(func, "execute task by func"); // taskpool.execute(function)
let val2 = await taskpool.execute(func, "execute task by func");
console.log("taskpool.execute(function) result: " + val2);
}
taskpoolTest();
``` ```
```js ```js
...@@ -226,7 +251,7 @@ let val2 = taskpool.execute(func, "execute task by func"); ...@@ -226,7 +251,7 @@ let val2 = taskpool.execute(func, "execute task by func");
// b.ts // b.ts
export var c = 2000; export var c = 2000;
// a.ts // a.ts(与b.ts同目录)
import { c } from './b' import { c } from './b'
function test(a) { function test(a) {
...@@ -236,8 +261,16 @@ function test(a) { ...@@ -236,8 +261,16 @@ function test(a) {
return a; return a;
} }
let task = new taskpool.Task(test, "create task, then execute"); async function taskpoolTest() {
let val1 = taskpool.execute(task); // taskpool.execute(task)
let task = new taskpool.Task(test, "create task, then execute");
let val1 = await taskpool.execute(task);
console.log("taskpool.execute(task) result: " + val1);
// taskpool.execute(function)
let val2 = await taskpool.execute(test, "execute task by func");
console.log("taskpool.execute(function) result: " + val2);
}
let val2 = taskpool.execute(test, "execute task by func"); taskpoolTest();
``` ```
\ No newline at end of file
...@@ -81,19 +81,19 @@ ThreadWorker构造函数。 ...@@ -81,19 +81,19 @@ ThreadWorker构造函数。
import worker from '@ohos.worker'; import worker from '@ohos.worker';
// worker线程创建 // worker线程创建
// FA模型-目录同级 // FA模型-目录同级(entry模块下,workers目录与pages目录同级)
const workerFAModel01 = new worker.ThreadWorker("workers/worker.js", {name:"first worker in FA model"}); const workerFAModel01 = new worker.ThreadWorker("workers/worker.js", {name:"first worker in FA model"});
// FA模型-目录不同级(以workers目录放置pages目录前一级为例 // FA模型-目录不同级(entry模块下,workers目录与pages目录的父目录同级
const workerFAModel02 = new worker.ThreadWorker("../workers/worker.js"); const workerFAModel02 = new worker.ThreadWorker("../workers/worker.js");
// Stage模型-目录同级 // Stage模型-目录同级(entry模块下,workers目录与pages目录同级)
const workerStageModel01 = new worker.ThreadWorker('entry/ets/workers/worker.ts', {name:"first worker in Stage model"}); const workerStageModel01 = new worker.ThreadWorker('entry/ets/workers/worker.ts', {name:"first worker in Stage model"});
// Stage模型-目录不同级(以workers目录放置pages目录后一级为例 // Stage模型-目录不同级(entry模块下,workers目录是pages目录的子目录
const workerStageModel02 = new worker.ThreadWorker('entry/ets/pages/workers/worker.ts'); const workerStageModel02 = new worker.ThreadWorker('entry/ets/pages/workers/worker.ts');
// 理解Stage模型scriptURL的"entry/ets/workers/worker.ts": // 理解Stage模型scriptURL的"entry/ets/workers/worker.ts":
// entry: 为module.json5文件中module的name属性对应的值 // entry: 为module.json5文件中module的name属性对应的值,ets: 表明当前使用的语言。
// ets: 表明当前使用的语言 // scriptURL与worker文件所在的workers目录层级有关,与new worker所在文件无关
``` ```
同时,需在工程的模块级build-profile.json5文件的buildOption属性中添加配置信息,主要分为下面两种情况: 同时,需在工程的模块级build-profile.json5文件的buildOption属性中添加配置信息,主要分为下面两种情况:
...@@ -585,6 +585,15 @@ dispatchEvent(event: Event): boolean ...@@ -585,6 +585,15 @@ dispatchEvent(event: Event): boolean
```js ```js
const workerInstance = new worker.ThreadWorker("workers/worker.js"); const workerInstance = new worker.ThreadWorker("workers/worker.js");
workerInstance.dispatchEvent({type:"eventType", timeStamp:0}); //timeStamp暂未支持。
```
分发事件(dispatchEvent)可与监听接口(on、once、addEventListener)搭配使用,示例如下:
```js
const workerInstance = new worker.ThreadWorker("workers/worker.js");
//用法一: //用法一:
workerInstance.on("alert_on", (e)=>{ workerInstance.on("alert_on", (e)=>{
console.log("alert listener callback"); console.log("alert listener callback");
...@@ -751,6 +760,15 @@ dispatchEvent(event: Event): boolean ...@@ -751,6 +760,15 @@ dispatchEvent(event: Event): boolean
```js ```js
const workerInstance = new worker.ThreadWorker("workers/worker.js"); const workerInstance = new worker.ThreadWorker("workers/worker.js");
workerInstance.dispatchEvent({type:"eventType", timeStamp:0}); //timeStamp暂未支持。
```
分发事件(dispatchEvent)可与监听接口(on、once、addEventListener)搭配使用,示例如下:
```js
const workerInstance = new worker.ThreadWorker("workers/worker.js");
//用法一: //用法一:
workerInstance.on("alert_on", (e)=>{ workerInstance.on("alert_on", (e)=>{
console.log("alert listener callback"); console.log("alert listener callback");
...@@ -1593,6 +1611,14 @@ dispatchEvent(event: Event): boolean ...@@ -1593,6 +1611,14 @@ dispatchEvent(event: Event): boolean
```js ```js
const workerInstance = new worker.Worker("workers/worker.js"); const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.dispatchEvent({type:"eventType", timeStamp:0}); //timeStamp暂未支持。
```
分发事件(dispatchEvent)可与监听接口(on、once、addEventListener)搭配使用,示例如下:
```js
const workerInstance = new worker.Worker("workers/worker.js");
//用法一: //用法一:
workerInstance.on("alert_on", (e)=>{ workerInstance.on("alert_on", (e)=>{
console.log("alert listener callback"); console.log("alert listener callback");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册