使用线程
需导入 import 模块,参看 thread timer 与 task 函数说明。 线程中使用独立环境运行,不能使用外部变量与函数,需要使用参数和回调与外部交互。
异步任务
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函数