aardio 文档
aardio 范例: 线程管理器
//线程管理器
//这个东西主要是用在界面线程里,但为了简化代码,这里用一个控制台来演示
import console;
import thread.manage;
//创建线程管理器
manage = thread.manage(3);
var thrdFunc = function(name){
import win;
import console;
for(i=1;10;1){
console.log( thread.getId(),name )
if( !win.delay(1000) ){
//主线程可以用 manage.quitMessage()中断这个循环
console.log("收到退出指令")
return;
}
}
return 67;
}
//创建线程,如果线程池已满会自动等待其他线程结束
manage.create(thrdFunc,"线程1").onEnd = function(...){
console.log("线程1的回调",...);
}
//创建线程(忽略线程返回值),如果线程池已满会自动等待其他线程结束
manage.createLite(thrdFunc,"线程2").onEnd = function(){
console.log("线程2的回调");
}
manage.create(thrdFunc,"线程3");
/*
创建所有线程以后,
必须调用 manage.waitClose() 函数等待所有线程执行完成,
manage.waitClose() 也会负责触发 onEnd 回调,并自动关闭已结束线程的线程句柄。
*/
manage.waitClose();
console.pause();
Markdown 格式