AIGameAIGame
首页
API文档
UI框架
下载软件
首页
API文档
UI框架
下载软件
  • API文档

    • $global - 全局函数
    • $act - 手势动作
      • 01.手势动作 - $act
      • 02.节点选择器 - UiSelector
      • 03.节点 - Node
    • $ag - 图色框架
    • $app - 应用操作
    • $arc - 悬浮菜单按钮
      • 01.悬浮菜单 - $arc
      • 02.悬浮容器 - MenuBody
      • 03.菜单按钮 - MenuItem
    • $bus - 消息总线
    • $color - 颜色操作
    • $crypt - 加密算法
    • $date - 日期工具
    • $device - 设备信息
    • $ext - dex,jar,so文件加载
    • $draw - 全局绘制
    • $engine - 脚本引擎
      • 01.任务信息 - JsTaskInfo
      • 02.脚本对象 - $task
    • $fc - 文件选择器
    • $file - 文件操作
    • $floaty - 悬浮窗
      • 01.可调节悬浮窗 - AdjFloaty
      • 02.系统级悬浮窗 - SysFloaty
      • 03.应用级悬浮窗 - AppFloaty
    • $img - 图片操作
    • $log - 日志框架
    • $ocr - 文字识别
    • $permit - 权限工具
    • $qr - 二维码工具
    • $res - 资源管理器
    • $root - ROOT与Shell命令
    • $screen - 屏幕操作
    • $storage - 应用内存储
    • $str - 字符串工具类
    • $sys - 系统操作
    • $thread - 并发编程
    • $tip - 对话框
    • $tts - 文字阅读
    • $yolo - 目标检测
    • $yolox - 目标检测

$thread

  • 更新时间:2025-07-24 10:26:10

并发编程

ui(runnable)

在UI线程中执行 其实也可以使用$ui.run(()=>{});在ui线程中执行

  • 参数 : runnable {()=>{}} 任务
  • 版本 : 1.0.0
$thread.ui(()=>{
    //这里是UI线程
});

run(runnable)

创建并且运行线程

  • 参数 : runnable {()=>{}} 任务
  • 返回 : {threadx} 增强线程
  • 版本 : 1.2.0
let t1 = $thread.run(()=>{
    //耗时任务
});
//要想停止或者关闭
t1.interrupt();

create(runnable)

创建线程 会自动生成线程名称,之后将线程名称和线程对象存储到序列中。

  • 参数 : runnable {()=>{}} 线程任务
  • 返回 : {threadx} 增强线程
  • 版本 : 1.0.0
let t1 = $thread.create(()=> {
    for (let i = 0; i < 10; i++) {
        sleep("300");
        log(t1.getName()+"==>"+i);
    }
    log(t1.getName()+"执行完毕");
});
t1.start();

create(name, runnable)

创建线程 优先去序列中查找是否存在这个线程名称,如果存在,会提示名称重复并且返回已经存在的线程对象(threadx)

  • 参数 : name {()=>{}} 线程任务
  • 返回 : {threadx} 增强线程
  • 版本 : 1.0.0
let t1 = $thread.create("线程名称",()=> {
    for (let i = 0; i < 10; i++) {
        sleep("300");
        log(t1.getName()+"==>"+i);
    }
    log(t1.getName()+"执行完毕");
});
t1.start();

has(name)

是否存在线程名称

  • 参数 : name {string} 线程名称
  • 返回 : {boolean} 是否存在
  • 版本 : 1.2.0
let has = $thread.has("线程名称");
if(has){
    //存在线程名称
}else{
    //不存在线程名称
}

get(name)

获得已存在的线程

  • 参数 : name {string} 线程名称
  • 版本 : 1.0.0
//获得线程对象
let t1 = $thread.get("线程名称");
if(t1!=null){
    //...
}

loop(name, runnable)

创建一个循环执行器

  • 参数 : name {string} 循环器名称
  • 参数 : runnable {()=>{}} 循环体
  • 返回 : {threadx} 增强线程
  • 版本 : 1.0.0
let t1 = $thread.loop("循环1号",()=>{
    sleep(1000);
    log("我还活着!");
});
t1.start();

hasLoop(name)

是否存在循环执行器

  • 参数 : name {string} 循环器名称
  • 返回 : {boolean} 是否存在
  • 版本 : 1.0.0
//关闭循环器
let exists = $thread.hasLoop("循环1号");

stopLoop(name)

停止循环执行器

  • 参数 : name {string} 循环器名称
  • 版本 : 1.0.0
//关闭循环器
$thread.stopLoop("循环1号");

stop(threadx)

停止指定线程 如果停止线程成功,会将增强线程中的布尔标识(setBool)设置为false

  • 参数 : threadx {threadx} 增强线程
  • 版本 : 1.0.0

stop(threadName)

停止指定线程

  • 参数 : threadName {string} 线程名称
  • 版本 : 1.0.0

stopAll()

停止所有线程

  • 版本 : 1.0.0
//停止所有线程(不包括循环器线程)
$thread.stopAll();

stopAllLoop()

停止所有循环执行器

  • 版本 : 1.0.0
//停止所有循环执行器
$thread.stopAllLoop();
最近更新: 2025/5/14 08:43
Contributors: 孑小白
Prev
$sys - 系统操作
Next
$tip - 对话框