未验证 提交 2f979195 编写于 作者: O openharmony_ci 提交者: Gitee

!17971 修改taskpool文档接口说明3.2release

Merge pull request !17971 from bwx1148593/OpenHarmony-3.2-Release
......@@ -46,7 +46,7 @@ Task的构造函数。
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | -------------------------------------------------------------------- |
| func | Function | 是 | 任务执行需要传入函数,支持的函数返回值类型请查[序列化支持类型](#序列化支持类型)。 |
| args | unknown[] | 否 | 任务执行传入函数的参数,支持的参数类型请查[序列化支持类型](#序列化支持类型)。 |
| args | unknown[] | 否 | 任务执行传入函数的参数,支持的参数类型请查[序列化支持类型](#序列化支持类型)默认值为undefined。 |
**错误码:**
......@@ -81,7 +81,7 @@ let task = new taskpool.Task(func, "this is my first Task");
execute(func: Function, ...args: unknown[]): Promise\<unknown>
任务池执行任务,需要传入待执行的函数和函数所需的参数,此执行模式不可取消任务。
将待执行的函数放入taskpool内部任务队列等待,等待分发到工作线程执行。当前执行模式不可取消任务。
**系统能力:** SystemCapability.Utils.Lang
......@@ -90,7 +90,7 @@ execute(func: Function, ...args: unknown[]): Promise\<unknown>
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------- | ---- | ---------------------------------------------------------------------- |
| func | Function | 是 | 执行的逻辑需要传入函数,支持的函数返回值类型请查[序列化支持类型](#序列化支持类型)。 |
| args | unknown[] | 否 | 执行逻辑的函数所需要的参数,支持的参数类型请查[序列化支持类型](#序列化支持类型)。 |
| args | unknown[] | 否 | 执行逻辑的函数所需要的参数,支持的参数类型请查[序列化支持类型](#序列化支持类型)默认值为undefined。 |
**返回值:**
......@@ -129,7 +129,7 @@ taskpoolTest();
execute(task: Task, priority?: Priority): Promise\<unknown>
任务池执行任务,需要传入已创建的任务,此执行模式可取消任务
将创建好的任务放入taskpool内部任务队列等待,等待分发到工作线程执行。当前执行模式可尝试调用cancel进行任务取消
**系统能力:** SystemCapability.Utils.Lang
......@@ -197,18 +197,18 @@ cancel(task: Task): void
| 10200015 | If the task is not exist. |
| 10200016 | If the task is running. |
**示例:**
**任务取消成功示例:**
```ts
@Concurrent
function func(args) {
"use concurrent";
console.log("func: " + args);
return args;
}
async function taskpoolTest() {
let task = new taskpool.Task(func, 100);
let value = await taskpool.execute(task);
taskpool.execute(task);
try {
taskpool.cancel(task);
} catch (e) {
......@@ -219,6 +219,66 @@ async function taskpoolTest() {
taskpoolTest();
```
**已执行的任务取消失败示例:**
```ts
function func(args) {
"use concurrent";
console.log("func: " + args);
return args;
}
async function taskpoolTest() {
let task = new taskpool.Task(func, 100);
let value = taskpool.execute(task);
let start = new Date().getTime();
while (new Date().getTime() - start < 1000) { // 延时1s,确保任务已执行
continue;
}
try {
taskpool.cancel(task); //任务已执行,取消失败
} catch (e) {
console.log("taskpool.cancel occur error:" + e);
}
}
taskpoolTest();
```
**正在执行的任务取消失败示例:**
```ts
function func(args) {
"use concurrent";
console.log("func: " + args);
return args;
}
async function taskpoolTest() {
let task1 = new taskpool.Task(func, 100);
let task2 = new taskpool.Task(func, 200);
let task3 = new taskpool.Task(func, 300);
let task4 = new taskpool.Task(func, 400);
let task5 = new taskpool.Task(func, 500);
let task6 = new taskpool.Task(func, 600);
let res1 = taskpool.execute(task1);
let res2 = taskpool.execute(task2);
let res3 = taskpool.execute(task3);
let res4 = taskpool.execute(task4);
let res5 = taskpool.execute(task5);
let res6 = taskpool.execute(task6);
try {
taskpool.cancel(task1); // task1任务正在执行,取消失败
} catch (e) {
console.log("taskpool.cancel occur error:" + e);
}
}
taskpoolTest();
```
## 其他说明
### 序列化支持类型
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册