定制网站开发多少钱舆情监测系统排名
-
实现任务的函数需要使用装饰器@Concurrent标注,且仅支持在.ets文件中使用。
-
方法:
taskpool.execute(任务名,执行权重优先级)
import { taskpool } from '@kit.ArkTS'//@Concurrent 只能修饰全局函数
@Concurrent
async function getData(params1: string, params2: string) {await new Promise<boolean>(async (resolve) => {setTimeout(() => {return resolve(true)}, 3000)})return params1 + params2 + Math.random().toFixed(2)
}@Entry
@Component
struct TaskPoolCase {@State taskGroup: string[] = []async CreateTaskGroup() {const group = new taskpool.TaskGroup()group.addTask(getData, 'CreateTaskGroup1', '~')group.addTask(getData, 'CreateTaskGroup2', '~')group.addTask(getData, 'CreateTaskGroup3', '~')group.addTask(getData, 'CreateTaskGroup4', '~')const result = await taskpool.execute(group, taskpool.Priority.MEDIUM)this.taskGroup = result.map(item => item.toString())}build() {Column() {Text('TaskPool任务组结果是:')ForEach(this.taskGroup, (item: string) => {Text(item)})Button('创建TaskPool任务组').onClick(() => {this.CreateTaskGroup()})}.height('100%').width('100%')}
}