异步多任务

禁用自动等待运动 3.1

disable_auto_sync()

创建异步任务 3.0

task = async_task(func, arg1, arg2, ...)
  • 参数
    • func 函数名
    • args 传递给函数的参数
  • 返回
    • task 异步任务。在调用以下 2 个函数前,任务不会执行

等待全部任务完成 3.0

ret1, ret2, ... = wait_all(task1, task2, ...)
  • 参数
    • tasks 异步任务
  • 返回
    • rets 任务返回值

等待任一任务完成 3.0

index, ret = wait_any(task1, task2, ...)
  • 参数
    • tasks 异步任务
  • 返回
    • 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)
上次更新: