Auto.js 线程通讯

/**********************************************
 ╚description:
 ╚作者: 麒麟社
 ╚时间: 2021-09-13 23:22:53
 ╚名称: Autojs 线程
 |多任务在同时执行的情况下需要用到线程
***********************************************/



// 开启一个线程
threads.start(function(){
    //执行的代码
    console.log("这里是一个线程")
})

// 线程定时任务执行
threads.start(function(){
    setInterval(function(){
        log("这个是2秒执行一次的定时循环输出");
    }, 2000);
})

/**
 * 线程通讯
 * 线程你们的数据是不能直接在线程以外直接调用,而业务逻辑需要调用线程的业务数据
 * 需要用到线程通讯
*/

var sum = threads.disposable();//声明一个变量来接受 线程通讯返回的数据

threads.start(function(){
    var s = 0;
    //用for循环做1-100的阶加
    for(var i = 1; i <= 100; i++){
        s += i;
    }
    //将计算好的结果通知主线程接收结果
    sum.setAndNotify(s);
});
//blockedGet()用于等待结果
log("结果= " + sum.blockedGet());


 


版权声明:本文为qq_17175585原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。