使用线程

需导入 import 模块,参看 thread timertask 函数说明。 线程中使用独立环境运行,不能使用外部变量与函数,需要使用参数和回调与外部交互。

异步任务

task(func,args,callback)
  • func 为任务执行代码或函数
  • args 为参数
  • callback 为回调函数
  • 任务返回值将传递到回调函数

task 只能同时运行cpu核心x2个线程,更多任务按照顺序等待执行
有一个特殊形式,第一个参数为数值时,将延时该数值毫秒后执行回调函数

线程

t=thread(f,args)
  • f 为线程中执行的代码或函数或文件路径
  • args 为初始传入参数

调用线程中方法

call(t,fn,args)
  • t 为线程
  • fn 为函数名称
  • args 为参数

设置线程变量

set(t,fn,arg)
  • t 为线程
  • fn 为变量名称
  • arg 为变量值

线程调用主线程中方法

call(fn,args)
  • fn 为函数名称
  • args 为参数

线程设置主线程变量

set(fn,arg)
  • fn 为变量名称
  • arg 为变量值

注意

参数类型为 字符串,数值,Java对象,布尔值 与 nil 线程要使用 quit 结束线程。

定时器

t=timer(func,delay,period,args)
  • func 为定时器执行的函数
  • delay 为定时器延时
  • period 为定时器间隔
  • args 为初始化参数

t.enabled=false 暂停定时器 t.enabled=true 启动定时器 t.stop() 停止定时器

注意

定时器函数定义run函数时定时器重复执行run函数,否则重复执行构建时的func函数