B2B网络软件

标题: AIWROK软件多线程协作示例代码解析 [打印本页]

作者: YYPOST群发软件    时间: 前天 09:38
标题: AIWROK软件多线程协作示例代码解析
AIWROK软件多线程协作示例代码解析
AIWROK软件多线程协作示例代码解析 B2B网络软件 AIWROK软件多线程协作示例代码解析 B2B网络软件
  1. // 创建线程对象
  2. var dataThread = new thread();
  3. var logThread = new thread();

  4. /**************** 数据生成线程 ****************/
  5. dataThread.runJsCode(function() {
  6.   for(var i=1; i<=5; i++) {
  7.     printl("生成数据:", i);
  8.     java.lang.Thread.sleep(1000); // Rhino引擎专用休眠方法
  9.   }
  10. }, "数据线程");

  11. /**************** 日志记录线程 ****************/
  12. logThread.runJsCode(function() {
  13.   for(var j=1; j<=5; j++) {
  14.     printl("记录日志:", new Date());
  15.     java.lang.Thread.sleep(1500);
  16.   }
  17. }, "日志线程");

  18. /**************** 主线程监控 ****************/
  19. var checkInterval = setInterval(function() {
  20.   // 状态组合检测
  21.   var status = "数据线程状态:" + (dataThread.isAlive() ? "运行中" : "已停止") +
  22.               " | 日志线程状态:" + (logThread.isAlive() ? "运行中" : "已停止");
  23.   printl(status);
  24.   
  25.   // 双线程完成检测
  26.   if(!dataThread.isAlive() && !logThread.isAlive()) {
  27.     clearInterval(checkInterval);
  28.     printl("所有线程执行完成");
  29.   }
  30. }, 500); // 每0.5秒检测一次

  31. /**************** 安全停止机制 ****************/
  32. setTimeout(function() {
  33.   dataThread.stop();  // 强制终止数据线程
  34.   logThread.stop();   // 强制终止日志线程
  35.   printl("强制停止所有线程");
  36. }, 10000); // 10秒后执行
复制代码
详细说明执行流程主线程启动 → 创建子线程 → 启动状态监控 → 数据线程生成数据 → 日志线程记录时间      ↑          ↓               ↓      强制停止 ← 状态检查 → 自动停止
注意事项





欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2