OpenHarmony开发者论坛

标题: 并发任务的调度及实时性问题,如何设置Task优先级,各个优先级的调度策略有什么区别,原理是什么,分别推荐在什么场景使用? [打印本页]

作者: 北向实践与赋能    时间: 2024-1-4 11:04
标题: 并发任务的调度及实时性问题,如何设置Task优先级,各个优先级的调度策略有什么区别,原理是什么,分别推荐在什么场景使用?
[md]并发任务的调度及实时性问题,如何设置Task优先级,各个优先级的调度策略有什么区别,原理是什么,分别推荐在什么场景使用?
[/md]
作者: 北向实践与赋能    时间: 2024-1-4 11:04
标题: 并发任务的调度及实时性问题,如何设置Task优先级,各个优先级的调度策略有什么区别,原理是什么,分别推荐在什么场景使用?
[md]**解决方案**

当前支持设置任务优先级,示例如下

**代码示例**

```ts
@Concurrent
function printArgs(args: number): number {
  console.log("printArgs: " + args);
  return args;
}
let task: taskpool.Task = new taskpool.Task(printArgs, 100); // 100: test number
let highCount = 0;
let mediumCount = 0;
let lowCount = 0;
let allCount = 100;
for (let i: number = 0; i < allCount; i++) {
  taskpool.execute(task, taskpool.Priority.LOW).then((res: number) => {
    lowCount++;
    console.log("taskpool lowCount is :" + lowCount);
  });
  taskpool.execute(task, taskpool.Priority.MEDIUM).then((res: number) => {
    mediumCount++;
    console.log("taskpool mediumCount is :" + mediumCount);
  });
  taskpool.execute(task, taskpool.Priority.HIGH).then((res: number) => {
    highCount++;
    console.log("taskpool highCount is :" + highCount);
```

**参考链接**

1. [Priority](https://docs.openharmony.cn/page ... skpool.md/#priority)
[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5