异步多任务
禁用自动等待运动 3.1
创建异步任务 3.0
task = async_task(func, arg1, arg2, ...)
- 参数
- 返回
task
异步任务。在调用以下 2 个函数前,任务不会执行
等待全部任务完成 3.0
ret1, ret2, ... = wait_all(task1, task2, ...)
等待任一任务完成 3.0
index, ret = wait_any(task1, task2, ...)
- 参数
- 返回
index
已完成任务的索引ret
已完成任务的返回值
示例
disable_auto_sync()
function 运动(param)
print(param, '开始运行')
movej({j1=0,j2=0,j3=0,j4=0,j5=0,j6=0}, 0, 0, 1, 0)
return "运动完成"
end
function 夹爪()
wait(1000)
set_claw(0, 100)
return "夹爪完成"
end
ret1, ret2 = wait_all(async_task(运动, '线程一'), async_task(夹爪))
print(ret1, ret2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16