找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1381|回复: 0

实用型多线程脚本运行20秒后停止

[复制链接]
发表于 2025-5-15 06:27:02 | 显示全部楼层 |阅读模式
本帖最后由 信息发布软件 于 2025-5-15 06:28 编辑

var threads = [];

function 计划任务(函数, 运行时间){
    var t = new thread();
    threads.push(t);
    t.runJsCode( () => {
        函数();
    }, "计划任务")

    sleep.second(运行时间);
    t.stop();
}

function 脚本1(){
    while(true){
        printl("脚本1")
        sleep.second(1);
    }
}

function 脚本2(){
    while(true){
        printl("脚本2")
        sleep.second(1);
    }
}

function 脚本3(){
    while(true){
        printl("脚本3")
        sleep.second(1);
    }
}

// 异步监控总运行时间然后全部停止
new thread().runJsCode( () => {
    // 总运行30秒后停止
    for (var i = 30; i > 0; i--) {
        sleep.second(1);
        printl("倒计时:" + i);
    }
    stopAll();
    printl("全部停止");
}, "总时间线程")

// 脚本1运行20秒后停止
计划任务(脚本1, 20)

// 脚本2运行20秒后停止
计划任务(脚本2, 20)

// 脚本3运行30秒后停止
计划任务(脚本3, 30)


代码详细解释

  1. 定义脚本函数:
function 脚本1(){
   while(true){
      printl("脚本1")
      sleep.second(1);
   }
}

function 脚本2(){
   while(true){
      printl("脚本2")
      sleep.second(1);
   }
}

function 脚本3(){
   while(true){
      printl("脚本3")
      sleep.second(1);
   }
}


    • 脚本1、脚本2、脚本3:这三个函数都是无限循环的脚本,每秒会打印一次其名称。printl假设是一个用于打印日志的函数,sleep.second(1)表示让当前线程休眠1秒。
  1. 计划任务函数:
function 计划任务(函数,运行时间){
    var t=new thread();
    t.runJsCode( () => {
        函数();
    }, "计划任务")

    sleep.second(运行时间);
    t.stop();
}


    • 计划任务:这个函数用于启动一个脚本并在指定的时间后停止它。它接受两个参数:一个是要执行的函数(如脚本1、脚本2、脚本3),另一个是该脚本运行的时间(以秒为单位)。
    • 创建一个新线程t,并使用t.runJsCode在该线程中运行传入的函数。
    • 主线程休眠指定的运行时间秒后,调用t.stop()停止该线程。
  1. 总时间线程:
new thread().runJsCode( () => {
    // 总运行30秒后停止
    sleep.second(30)
    stopAll();
    printl("全部停止");
}, "总时间线程")


    • 创建了一个名为“总时间线程”的新线程,该线程将在30秒后执行以下操作:
    • 调用stopAll()函数停止所有正在运行的脚本。
    • 打印“全部停止”。
  1. 启动计划任务:
计划任务(脚本1, 20)
计划任务(脚本2, 20)
计划任务(脚本3, 20)


    • 使用计划任务函数分别启动脚本1、脚本2和脚本3,并指定它们在20秒后停止。

用处说明

这段代码的主要用途是实现多任务的异步管理和定时停止。具体来说,它有以下几个用处:

  1. 多任务管理:
    • 可以同时运行多个任务(脚本),并且每个任务可以在独立的线程中执行,互不干扰。
  1. 定时任务:
    • 每个任务可以根据需要设置运行时间。例如,脚本1、脚本2和脚本3都设置在20秒后停止,而“总时间线程”则在30秒后停止所有任务。
  1. 自动停止:
    • 通过设置不同的停止时间,可以自动控制任务的生命周期,无需手动干预。
    • 例如,如果需要监控某个系统在一段时间内的行为,可以使用这种方法启动多个监控脚本,并在设定的时间后自动停止它们。
  1. 灵活性:
    • 可以根据需要添加更多的脚本和计划任务,只需调用计划任务函数并传入相应的参数即可。
1.png
2.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-10-16 18:18

宣传软件 · 信息发布软件 · b2b软件 · 广告发布软件

快速回复 返回顶部 返回列表