YYPOST群发软件 发表于 2025-4-15 09:31:02

AIWROK软件多线程thread1.runJsFile例子

<div class="blockcode"><blockquote>T = time.nowStamp();<br><br>// 正确启动两个线程(线程名必须不同!)<br>var thread1 = new thread();// 线程对象1<br>var thread2 = new thread();// 线程对象2<br>thread1.runJsFile('线程1.js', 'worker1');// 线程名用"worker1" <br>thread2.runJsFile('线程2.js', 'worker2');// 线程名用"worker2"<br><br>// 监控循环(10秒后停止线程1)<br>while (true) {<br>    printl("正常运行");<br>    sleep.millisecond(1000);<br>    <br>    if (time.nowStamp() - T &gt; 10000) {<br>      thread1.stop();// 停止线程1(通过对象实例)<br>      break;// 退出监控循环<br>    }<br>}</blockquote></div><ne-clipboard data="%7B%22type%22%3A%22fragment%22%2C%22name%22%3A%22%23fragment%22%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u13cfa835%22%2C%22name%22%3A%22p%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ud31d6f6f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E8%BF%99%E6%AE%B5%E4%BB%A3%E7%A0%81%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8A%9F%E8%83%BD%E6%98%AF%E5%90%AF%E5%8A%A8%E4%B8%A4%E4%B8%AA%E7%8B%AC%E7%AB%8B%E7%9A%84JavaScript%E7%BA%BF%E7%A8%8B%EF%BC%8C%E5%B9%B6%E7%9B%91%E6%8E%A7%E5%AE%83%E4%BB%AC%E7%9A%84%E8%BF%90%E8%A1%8C%E7%8A%B6%E6%80%81%E3%80%8210%E7%A7%92%E5%90%8E%EF%BC%8C%E4%BB%A3%E7%A0%81%E4%BC%9A%E5%81%9C%E6%AD%A2%E5%85%B6%E4%B8%AD%E4%B8%80%E4%B8%AA%E7%BA%BF%E7%A8%8B%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AF%B9%E4%BB%A3%E7%A0%81%E7%9A%84%E8%AF%A6%E7%BB%86%E8%A7%A3%E9%87%8A%EF%BC%9A%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u41dca0b4%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22udd8bc8b1%22%2C%22fid%22%3A%22ueb9b1163%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ud73783ee%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u9a5e7eaf%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22T%20%3D%20time.nowStamp()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf9324cad%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E7%9A%84%E6%97%B6%E9%97%B4%E6%88%B3%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%B5%8B%E5%80%BC%E7%BB%99%E5%8F%98%E9%87%8F%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u53560078%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3fe0d564%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22T%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ue8469402%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E3%80%82%E8%BF%99%E4%B8%AA%E6%97%B6%E9%97%B4%E6%88%B3%E7%94%A8%E4%BA%8E%E5%90%8E%E7%BB%AD%E8%AE%A1%E7%AE%97%E7%A8%8B%E5%BA%8F%E5%B7%B2%E7%BB%8F%E8%BF%90%E8%A1%8C%E7%9A%84%E6%97%B6%E9%97%B4%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u4ab80113%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22udd8bc8b1%22%2C%22fid%22%3A%22ueb9b1163%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ubba503e8%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%88%9B%E5%BB%BA%E4%B8%A4%E4%B8%AA%E7%BA%BF%E7%A8%8B%E5%AF%B9%E8%B1%A1%EF%BC%9A%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uadddeb59%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ud05599a1%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20thread1%20%3D%20new%20thread()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ufad826fb%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%20%22%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua63e5d34%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%92%8C%22%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u2af064e2%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%20%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u7717265e%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u8d983210%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20thread2%20%3D%20new%20thread()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3d22c945%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E3%80%82%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%BA%86%E4%B8%A4%E4%B8%AA%E7%BA%BF%E7%A8%8B%E5%AE%9E%E4%BE%8B%EF%BC%8C%E5%88%86%E5%88%AB%E5%91%BD%E5%90%8D%E4%B8%BA%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u22f8e045%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3f78990f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread1%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3ba44fd4%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%92%8C%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u5eb59821%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22udffcdfb8%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread2%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u35449a88%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uab1dd557%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22udd8bc8b1%22%2C%22fid%22%3A%22ueb9b1163%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua9a6e659%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%90%AF%E5%8A%A8%E7%BA%BF%E7%A8%8B%EF%BC%9A%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u4bb75bab%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ue6d58bd1%22%2C%22fid%22%3A%22ue671b199%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uf2fec1a9%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u9c6193e8%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread1.runJsFile('%E7%BA%BF%E7%A8%8B1.js'%2C%20'worker1')%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u6b2f42db%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%90%AF%E5%8A%A8%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u12726de9%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ud7a360eb%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread1%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7e2df84d%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%8C%E5%B9%B6%E8%BF%90%E8%A1%8C%E5%90%8D%E4%B8%BA%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u9dab6bc2%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uaf9afa62%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E7%BA%BF%E7%A8%8B1.js%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3b159e60%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E7%9A%84JavaScript%E6%96%87%E4%BB%B6%E3%80%82%E5%90%8C%E6%97%B6%EF%BC%8C%E4%B8%BA%E8%BF%99%E4%B8%AA%E7%BA%BF%E7%A8%8B%E6%8C%87%E5%AE%9A%E4%B8%80%E4%B8%AA%E5%90%8D%E5%AD%97%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u25245b5a%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub384c48e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22worker1%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7b91e431%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u0a96e5af%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ue6d58bd1%22%2C%22fid%22%3A%22ue671b199%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ubd67c803%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u04f6f492%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread2.runJsFile('%E7%BA%BF%E7%A8%8B2.js'%2C%20'worker2')%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub0c94e95%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%90%AF%E5%8A%A8%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue838a980%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ucc281697%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread2%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u025effb1%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%8C%E5%B9%B6%E8%BF%90%E8%A1%8C%E5%90%8D%E4%B8%BA%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u39950313%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ue52a55cd%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E7%BA%BF%E7%A8%8B2.js%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u4e5a2bec%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E7%9A%84JavaScript%E6%96%87%E4%BB%B6%E3%80%82%E5%90%8C%E6%97%B6%EF%BC%8C%E4%B8%BA%E8%BF%99%E4%B8%AA%E7%BA%BF%E7%A8%8B%E6%8C%87%E5%AE%9A%E4%B8%80%E4%B8%AA%E5%90%8D%E5%AD%97%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u0b6bc365%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ue98f1ebe%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22worker2%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub4e27594%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u54b6510a%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22udd8bc8b1%22%2C%22fid%22%3A%22ueb9b1163%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uee3e8c8f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E8%BF%9B%E5%85%A5%E4%B8%80%E4%B8%AA%E6%97%A0%E9%99%90%E5%BE%AA%E7%8E%AF%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u1c3fccff%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uab8fb08c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22while%20(true)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uebc28bd6%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%8C%E5%9C%A8%E6%AD%A4%E5%BE%AA%E7%8E%AF%E4%B8%AD%EF%BC%9A%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u9c94d406%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u68570038%22%2C%22fid%22%3A%22u88ed30f0%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue13cbc89%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u39102951%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22printl(%5C%22%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%5C%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua0d4134f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%89%93%E5%8D%B0%E5%AD%97%E7%AC%A6%E4%B8%B2%5C%22%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%5C%22%E5%88%B0%E6%8E%A7%E5%88%B6%E5%8F%B0%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%A3%80%E6%9F%A5%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%9C%A8%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u84029685%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u68570038%22%2C%22fid%22%3A%22u88ed30f0%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue8212465%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u6795cf4c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22sleep.millisecond(1000)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uaa4579ac%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E8%AE%A9%E5%BD%93%E5%89%8D%E7%BA%BF%E7%A8%8B%E4%BC%91%E7%9C%A01000%E6%AF%AB%E7%A7%92%EF%BC%88%E5%8D%B31%E7%A7%92%EF%BC%89%EF%BC%8C%E6%9A%82%E5%81%9C%E6%89%A7%E8%A1%8C%E5%90%8E%E7%BB%AD%E4%BB%A3%E7%A0%81%E4%BB%A5%E9%81%BF%E5%85%8D%E7%9F%AD%E6%97%B6%E9%97%B4%E5%86%85%E9%A2%91%E7%B9%81%E6%89%93%E5%8D%B0%EF%BC%8C%E6%8F%90%E9%AB%98%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%8F%AF%E8%AF%BB%E6%80%A7%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue35569a2%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u68570038%22%2C%22fid%22%3A%22u88ed30f0%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ufa970e9a%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u59e54420%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22if%20(time.nowStamp()%20-%20T%20%3E%2010000)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u2cdffe0c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E8%AE%A1%E7%AE%97%E5%BD%93%E5%89%8D%E6%97%B6%E9%97%B4%E4%B8%8E%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ufb866037%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub99f5f8c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22T%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u444f782e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E6%89%80%E8%AE%B0%E5%BD%95%E7%9A%84%E6%97%B6%E9%97%B4%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%80%BC%EF%BC%8C%E5%88%A4%E6%96%AD%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%BF%87%E5%8E%BB%E4%BA%8610000%E6%AF%AB%E7%A7%92%EF%BC%88%E5%8D%B310%E7%A7%92%EF%BC%89%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%EF%BC%8C%E5%88%99%E6%89%A7%E8%A1%8C%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ud8296664%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uce747d98%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread1.stop()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua5c3bb7b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%8C%E5%8D%B3%E5%81%9C%E6%AD%A2%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u534e7f2e%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua9f140fc%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22thread1%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub6658745%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E7%BA%BF%E7%A8%8B%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uc3824a2f%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u68570038%22%2C%22fid%22%3A%22u88ed30f0%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ua1dd3905%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u8b245d00%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22break%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf539de81%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E9%80%80%E5%87%BA%E6%97%A0%E9%99%90%E5%BE%AA%E7%8E%AF%EF%BC%8C%E7%BB%93%E6%9D%9F%E7%9B%91%E6%8E%A7%E3%80%82%22%7D%5D%7D%5D%2C%22attrs%22%3A%7B%7D%7D" source="https%3A%2F%2Fwww.yuque.com%2Faiwork%2Fnba2pr%2Fwycmeir0wkmrw0lz"></ne-clipboard><div class="lake-content" typography="classic"><p id="u13cfa835" class="ne-p" style="min-height: 24px;"><span class="ne-text">这段代码的主要功能是启动两个独立的JavaScript线程,并监控它们的运行状态。10秒后,代码会停止其中一个线程。下面是对代码的详细解释:</span></p><ol class="ne-ol" style="padding-left: 23px;"><li id="u41dca0b4" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">T = time.nowStamp();</span></code><span class="ne-text">:获取当前的时间戳,并将其赋值给变量</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">T</span></code><span class="ne-text">。这个时间戳用于后续计算程序已经运行的时间。</span></li><li id="u4ab80113" data-lake-index-type="0"><span class="ne-text">创建两个线程对象:</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var thread1 = new thread();</span></code><span class="ne-text"> </span><span class="ne-text">和</span><span class="ne-text"> </span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var thread2 = new thread();</span></code><span class="ne-text">。这里创建了两个线程实例,分别命名为</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread1</span></code><span class="ne-text">和</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread2</span></code><span class="ne-text">。</span></li><li id="uab1dd557" data-lake-index-type="0"><span class="ne-text">启动线程:</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u4bb75bab" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread1.runJsFile('线程1.js', 'worker1');</span></code><span class="ne-text">:启动</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread1</span></code><span class="ne-text">,并运行名为</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">线程1.js</span></code><span class="ne-text">的JavaScript文件。同时,为这个线程指定一个名字</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">worker1</span></code><span class="ne-text">。</span></li><li id="u0a96e5af" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread2.runJsFile('线程2.js', 'worker2');</span></code><span class="ne-text">:启动</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread2</span></code><span class="ne-text">,并运行名为</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">线程2.js</span></code><span class="ne-text">的JavaScript文件。同时,为这个线程指定一个名字</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">worker2</span></code><span class="ne-text">。</span></li></ul></ul><ol start="4" class="ne-ol" style="padding-left: 23px;"><li id="u54b6510a" data-lake-index-type="0"><span class="ne-text">进入一个无限循环</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">while (true)</span></code><span class="ne-text">,在此循环中:</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u9c94d406" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">printl("正常运行");</span></code><span class="ne-text">:打印字符串"正常运行"到控制台,用于检查程序是否在正常运行。</span></li><li id="u84029685" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">sleep.millisecond(1000);</span></code><span class="ne-text">:让当前线程休眠1000毫秒(即1秒),暂停执行后续代码以避免短时间内频繁打印,提高程序的可读性。</span></li><li id="ue35569a2" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">if (time.nowStamp() - T &gt; 10000)</span></code><span class="ne-text">:计算当前时间与</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">T</span></code><span class="ne-text">所记录的时间之间的差值,判断是否已经过去了10000毫秒(即10秒)。如果是,则执行</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread1.stop();</span></code><span class="ne-text">,即停止</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">thread1</span></code><span class="ne-text">线程。</span></li><li id="uc3824a2f" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">break;</span></code><span class="ne-text">:退出无限循环,结束监控。</span></li></ul><li><div class="blockcode"><blockquote>// ======================<br>// 兼容版线程控制示例<br>// ======================<br><br>// 初始化<br>var T = time.nowStamp(); // 记录系统启动的时间戳<br>var MAX_WORKERS = 4; // 定义最大工作线程数为4<br>var TASK_QUEUE = []; // 任务队列,用于存储待执行的任务<br>var isRunning = true; // 系统运行标志,当为true时,系统持续运行<br><br>// 1. 定义工作任务<br>function createTask(taskId) {<br>    return {<br>      id: taskId, // 任务ID<br>      status: "pending", // 任务状态,初始为"pending"(待执行)<br>      startTime: 0, // 任务开始时间,初始为0<br>      endTime: 0 // 任务结束时间,初始为0<br>    };<br>}<br><br>// 2. 工作线程执行函数<br>function workerFunction(workerId) {<br>    while (isRunning) { // 当系统正在运行时,工作线程持续寻找任务<br>      var task = TASK_QUEUE.find(t =&gt; t.status === "pending");<br>      if (task) { // 找到待执行的任务<br>            task.status = "running"; // 将任务状态更改为"running"(正在执行)<br>            task.startTime = time.nowStamp(); // 记录任务开始时间<br>            printl(`[${workerId}] 开始执行任务 ${task.id}`); // 打印工作线程开始执行任务的信息<br>            try {<br>                // 直接执行截图脚本<br>                load("截图.js"); // 加载并执行"截图.js"脚本,用于执行具体的任务逻辑<br>                task.status = "completed"; // 任务执行成功后,将状态更改为"completed"(已完成)<br>                printl(`[${workerId}] 任务 ${task.id} 完成`); // 打印工作线程完成任务的信息<br>            } catch (e) {<br>                task.status = "failed"; // 如果任务执行过程中发生错误,将状态更改为"failed"(失败)<br>                printl(`[${workerId}] 任务 ${task.id} 失败: ${e}`); // 打印工作线程任务失败的信息及错误原因<br>            } finally {<br>                task.endTime = time.nowStamp(); // 无论任务成功或失败,记录任务结束时间<br>            }<br>      }<br>      sleep.millisecond(100); // 如果没有待执行的任务,工作线程休眠100毫秒后再次检查<br>    }<br>}<br><br>// 3. 初始化线程池<br>function initThreadPool() {<br>    for (var i = 0; i &lt; MAX_WORKERS; i++) { // 根据MAX_WORKERS的数量创建相应数量的工作线程<br>      var worker = new thread(); // 创建一个新线程<br>      worker.runJsFile("截图.js", "worker-" + (i + 1)); // 让新线程运行"截图.js"脚本,传入线程ID作为参数<br>    }<br>    printl(`已创建 ${MAX_WORKERS} 个工作线程`); // 打印已创建的工作线程数量信息<br>}<br><br>// 4. 状态监控<br>function monitor() {<br>    while (isRunning) { // 当系统正在运行时,持续监控任务进度<br>      var completed = TASK_QUEUE.filter(t =&gt; t.status === "completed").length; // 统计已完成的任务数量<br>      printl(`任务进度: ${completed}/${TASK_QUEUE.length}`); // 打印当前任务进度信息<br>      <br>      if (time.nowStamp() - T &gt; 10000) { // 如果系统运行时间超过10秒<br>            isRunning = false; // 将系统运行标志设为false,停止系统运行<br>            printl("监控结束"); // 打印监控结束的信息<br>            break; // 退出循环<br>      }<br>      sleep.millisecond(2000); // 监控线程每2秒检查一次任务进度<br>    }<br>}<br><br>// ======================<br>// 主程序执行<br>// ======================<br><br>// 添加任务<br>for (var i = 1; i &lt;= 10; i++) { // 添加10个任务到任务队列<br>    TASK_QUEUE.push(createTask("task-" + i)); // 调用createTask函数创建任务,并将其添加到TASK_QUEUE中<br>}<br><br>// 启动系统<br>initThreadPool(); // 初始化线程池,启动工作线程<br><br>// 启动监控线程<br>var monitorThread = new thread(); // 创建一个新的线程,用于监控<br>monitorThread.runJsFile("截图.js", "monitor"); // 让监控线程运行"截图.js"脚本,传入"monitor"作为参数<br><br>// 主线程执行监控<br>monitor(); // 主线程也运行监控函数,监控任务进度<br><br>printl("系统运行结束"); // 打印系统运行结束的信息<br></blockquote></div><ne-clipboard data="%7B%22type%22%3A%22fragment%22%2C%22name%22%3A%22%23fragment%22%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u04ec59e4%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uc2295d78%22%2C%22fid%22%3A%22u1c40e451%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua4b8c132%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E4%BB%A5%E4%B8%8B%E6%98%AF%E4%BB%A3%E7%A0%81%E7%9A%84%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E%EF%BC%9A%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue63f9537%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uc2295d78%22%2C%22fid%22%3A%22u1c40e451%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u369e7fab%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%88%9D%E5%A7%8B%E5%8C%96%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u21d23657%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud80c6690%22%2C%22fid%22%3A%22ubd0b630d%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u2070559b%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ufeb20b5c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20T%20%3D%20time.nowStamp()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7f940bb9%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E8%AE%B0%E5%BD%95%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%E7%9A%84%E6%97%B6%E9%97%B4%E6%88%B3%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ufd161083%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud80c6690%22%2C%22fid%22%3A%22ubd0b630d%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u80dce2a4%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u47c3c030%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20MAX_WORKERS%20%3D%204%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u1452ec3b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%AE%9A%E4%B9%89%E6%9C%80%E5%A4%A7%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E6%95%B0%E4%B8%BA4%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u20ff8498%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud80c6690%22%2C%22fid%22%3A%22ubd0b630d%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u3aeb46e3%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u8feadced%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20TASK_QUEUE%20%3D%20%5B%5D%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u8b85ec93%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%AD%98%E5%82%A8%E5%BE%85%E6%89%A7%E8%A1%8C%E7%9A%84%E4%BB%BB%E5%8A%A1%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u70b4dabb%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud80c6690%22%2C%22fid%22%3A%22ubd0b630d%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u40741314%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u741f167a%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20isRunning%20%3D%20true%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u0886c7e5%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E7%B3%BB%E7%BB%9F%E8%BF%90%E8%A1%8C%E6%A0%87%E5%BF%97%EF%BC%8C%E5%BD%93%E4%B8%BA%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ua45133cd%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uab63e19c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22true%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7bd3cd48%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E6%97%B6%EF%BC%8C%E7%B3%BB%E7%BB%9F%E6%8C%81%E7%BB%AD%E8%BF%90%E8%A1%8C%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u35e143ef%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uc2295d78%22%2C%22fid%22%3A%22u1c40e451%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u1f220b6b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%AE%9A%E4%B9%89%E5%B7%A5%E4%BD%9C%E4%BB%BB%E5%8A%A1%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u4f0eff7a%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u380cbb4e%22%2C%22fid%22%3A%22ueffd6e81%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ud5d2f34b%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf08d6edd%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22function%20createTask(taskId)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ud3e27c89%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%BB%BB%E5%8A%A1%E5%AF%B9%E8%B1%A1%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uac80b001%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u380cbb4e%22%2C%22fid%22%3A%22u8be0c873%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u58b2eac6%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ue63400a4%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22id%3A%20taskId%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uabd69522%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E4%BB%BB%E5%8A%A1ID%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ubdfa93cb%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u380cbb4e%22%2C%22fid%22%3A%22u8be0c873%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u6a140e5e%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u395e1721%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22status%3A%20%5C%22pending%5C%22%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uac6ce1f3%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E4%BB%BB%E5%8A%A1%E7%8A%B6%E6%80%81%EF%BC%8C%E5%88%9D%E5%A7%8B%E4%B8%BA%5C%22pending%5C%22%EF%BC%88%E5%BE%85%E6%89%A7%E8%A1%8C%EF%BC%89%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ufc4805e1%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u380cbb4e%22%2C%22fid%22%3A%22u8be0c873%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u04d6367b%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uffb91826%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22startTime%3A%200%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u6d9cf264%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E4%BB%BB%E5%8A%A1%E5%BC%80%E5%A7%8B%E6%97%B6%E9%97%B4%EF%BC%8C%E5%88%9D%E5%A7%8B%E4%B8%BA0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uf5c2d558%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u380cbb4e%22%2C%22fid%22%3A%22u8be0c873%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u67111043%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uc5dbc9ec%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22endTime%3A%200%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u680b51cf%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E4%BB%BB%E5%8A%A1%E7%BB%93%E6%9D%9F%E6%97%B6%E9%97%B4%EF%BC%8C%E5%88%9D%E5%A7%8B%E4%B8%BA0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u2f53acb0%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uc2295d78%22%2C%22fid%22%3A%22u1c40e451%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u6883799a%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E6%89%A7%E8%A1%8C%E5%87%BD%E6%95%B0%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue786421c%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22u7b072cce%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u618444be%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u39a4d852%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22function%20workerFunction(workerId)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u2d489e37%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E7%9A%84%E6%89%A7%E8%A1%8C%E5%87%BD%E6%95%B0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u718e16bd%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22uedebf10f%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue94ed4f1%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u5dcb0aa1%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22while%20(isRunning)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub4de2ed0%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%BD%93%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E6%97%B6%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E6%8C%81%E7%BB%AD%E5%AF%BB%E6%89%BE%E4%BB%BB%E5%8A%A1%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u87669ac8%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22uedebf10f%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u5c6c1b93%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u56e666ee%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20task%20%3D%20TASK_QUEUE.find(t%20%3D%3E%20t.status%20%3D%3D%3D%20%5C%22pending%5C%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ue8fe179e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E4%BB%8E%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97%E4%B8%AD%E6%89%BE%E5%88%B0%E7%8A%B6%E6%80%81%E4%B8%BA%5C%22pending%5C%22%E7%9A%84%E4%BB%BB%E5%8A%A1%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u18ac5da1%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22uedebf10f%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u272101fb%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u5e035159%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22if%20(task)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u1ef0a4b4%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%A6%82%E6%9E%9C%E6%89%BE%E5%88%B0%E5%BE%85%E6%89%A7%E8%A1%8C%E7%9A%84%E4%BB%BB%E5%8A%A1%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u792a2d42%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ufc46c6d3%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u280da6e9%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf979d816%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22task.status%20%3D%20%5C%22running%5C%22%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uef4b0a8e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%B0%86%E4%BB%BB%E5%8A%A1%E7%8A%B6%E6%80%81%E6%9B%B4%E6%94%B9%E4%B8%BA%5C%22running%5C%22%EF%BC%88%E6%AD%A3%E5%9C%A8%E6%89%A7%E8%A1%8C%EF%BC%89%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u1316518e%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ufc46c6d3%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uac2fbf7a%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u165d4001%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22task.startTime%20%3D%20time.nowStamp()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u46b22231%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E8%AE%B0%E5%BD%95%E4%BB%BB%E5%8A%A1%E5%BC%80%E5%A7%8B%E6%97%B6%E9%97%B4%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u39149eb2%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ufc46c6d3%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uee963f92%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uec033b7b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22printl(%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7bea6fa8%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%5B%22%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7b309d58%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%7Btask.id%7D%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ued1bfdc1%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u2ff0efd1%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3161a8fa%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%89%93%E5%8D%B0%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E5%BC%80%E5%A7%8B%E6%89%A7%E8%A1%8C%E4%BB%BB%E5%8A%A1%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u2558e77a%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ufc46c6d3%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uf36bc48d%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u153a5688%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22try%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u730b864c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%B0%9D%E8%AF%95%E6%89%A7%E8%A1%8C%E4%BB%BB%E5%8A%A1%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u69957353%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ud18e0b49%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%2C3%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u65430dbd%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u11afff56%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22load(%5C%22%E6%88%AA%E5%9B%BE.js%5C%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7ef2c31d%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%8A%A0%E8%BD%BD%E5%B9%B6%E6%89%A7%E8%A1%8C%5C%22%E6%88%AA%E5%9B%BE.js%5C%22%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%89%A7%E8%A1%8C%E5%85%B7%E4%BD%93%E7%9A%84%E4%BB%BB%E5%8A%A1%E9%80%BB%E8%BE%91%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u8ab9f537%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ud18e0b49%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%2C3%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u57d365b3%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22udde9ede0%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22task.status%20%3D%20%5C%22completed%5C%22%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf4f0fff6%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E4%BB%BB%E5%8A%A1%E6%89%A7%E8%A1%8C%E6%88%90%E5%8A%9F%E5%90%8E%EF%BC%8C%E5%B0%86%E7%8A%B6%E6%80%81%E6%9B%B4%E6%94%B9%E4%B8%BA%5C%22completed%5C%22%EF%BC%88%E5%B7%B2%E5%AE%8C%E6%88%90%EF%BC%89%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22udfa991ae%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ud18e0b49%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%2C3%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u89e16624%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u771ae109%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22printl(%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua6a20652%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%5B%22%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u8300cf9d%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%7Btask.id%7D%20%E5%AE%8C%E6%88%90%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u05893a44%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u861ea491%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub670e053%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%89%93%E5%8D%B0%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E5%AE%8C%E6%88%90%E4%BB%BB%E5%8A%A1%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u58f62b6e%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ufc46c6d3%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%5D%2C%22index%22%3A4%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u20ee624c%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u0d0902aa%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22catch%20(e)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u6ea26792%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%A6%82%E6%9E%9C%E4%BB%BB%E5%8A%A1%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%8F%91%E7%94%9F%E9%94%99%E8%AF%AF%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue71735da%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22uf533fbce%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%2C4%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u183ac92a%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u8a2e0d3b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22task.status%20%3D%20%5C%22failed%5C%22%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u1e503d6c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%B0%86%E4%BB%BB%E5%8A%A1%E7%8A%B6%E6%80%81%E6%9B%B4%E6%94%B9%E4%B8%BA%5C%22failed%5C%22%EF%BC%88%E5%A4%B1%E8%B4%A5%EF%BC%89%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u721ee67f%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22uf533fbce%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%2C4%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue4f9884d%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ude7db444%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22printl(%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u2b2f62aa%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%5B%22%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uc27fb080%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%7Btask.id%7D%20%E5%A4%B1%E8%B4%A5%3A%20%24%7Be%7D%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue8098891%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ufad364cd%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uc726aa79%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%89%93%E5%8D%B0%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E4%BB%BB%E5%8A%A1%E5%A4%B1%E8%B4%A5%E7%9A%84%E4%BF%A1%E6%81%AF%E5%8F%8A%E9%94%99%E8%AF%AF%E5%8E%9F%E5%9B%A0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u9c19bcd3%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22ufc46c6d3%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%5D%2C%22index%22%3A5%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u60b3a0b9%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u52834bb1%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22finally%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u28a5dd0b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%97%A0%E8%AE%BA%E4%BB%BB%E5%8A%A1%E6%88%90%E5%8A%9F%E6%88%96%E5%A4%B1%E8%B4%A5%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u96ed1d35%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22u81b664c5%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C2%2C5%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uaca929fb%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u110f9d05%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22task.endTime%20%3D%20time.nowStamp()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u26b29df4%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E8%AE%B0%E5%BD%95%E4%BB%BB%E5%8A%A1%E7%BB%93%E6%9D%9F%E6%97%B6%E9%97%B4%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ud3eb3993%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ucae3cefd%22%2C%22fid%22%3A%22uedebf10f%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u6e3c5764%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u486a48d6%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22sleep.millisecond(100)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7f22590a%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89%E5%BE%85%E6%89%A7%E8%A1%8C%E7%9A%84%E4%BB%BB%E5%8A%A1%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E4%BC%91%E7%9C%A0100%E6%AF%AB%E7%A7%92%E5%90%8E%E5%86%8D%E6%AC%A1%E6%A3%80%E6%9F%A5%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u33b3d38d%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uc2295d78%22%2C%22fid%22%3A%22u1c40e451%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A4%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u917d9e6f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%88%9D%E5%A7%8B%E5%8C%96%E7%BA%BF%E7%A8%8B%E6%B1%A0%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u5485e018%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uaced399c%22%2C%22fid%22%3A%22u0a2b1763%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u6e8f6f2f%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uabcd536d%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22function%20initThreadPool()%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3037200b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%9D%E5%A7%8B%E5%8C%96%E7%BA%BF%E7%A8%8B%E6%B1%A0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue1212a9a%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uaced399c%22%2C%22fid%22%3A%22u289f2732%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u72c5100b%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u4510efdf%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22for%20(var%20i%20%3D%200%3B%20i%20%3C%20MAX_WORKERS%3B%20i%2B%2B)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22udb44d27f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%A0%B9%E6%8D%AE%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u965c0b52%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ud421606f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22MAX_WORKERS%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u3324a7d6%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E7%9A%84%E6%95%B0%E9%87%8F%E5%88%9B%E5%BB%BA%E7%9B%B8%E5%BA%94%E6%95%B0%E9%87%8F%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ufa88599b%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uaced399c%22%2C%22fid%22%3A%22u5dea2920%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ua151b1de%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u287e9b64%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20worker%20%3D%20new%20thread()%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ue62e5752%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%BA%BF%E7%A8%8B%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u8307cfff%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uaced399c%22%2C%22fid%22%3A%22u5dea2920%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u5eb71076%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf1f82124%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22worker.runJsFile(%5C%22%E6%88%AA%E5%9B%BE.js%5C%22%2C%20%5C%22worker-%5C%22%20%2B%20(i%20%2B%201))%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u8002a1d5%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E8%AE%A9%E6%96%B0%E7%BA%BF%E7%A8%8B%E8%BF%90%E8%A1%8C%5C%22%E6%88%AA%E5%9B%BE.js%5C%22%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BC%A0%E5%85%A5%E7%BA%BF%E7%A8%8BID%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ucbc988e8%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uaced399c%22%2C%22fid%22%3A%22u289f2732%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u2b30defe%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u39299dc3%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22printl(%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf5631169%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%B7%B2%E5%88%9B%E5%BB%BA%20%24%7BMAX_WORKERS%7D%20%E4%B8%AA%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uc752637a%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u60497d09%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u1bebea8d%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%89%93%E5%8D%B0%E5%B7%B2%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E6%95%B0%E9%87%8F%E4%BF%A1%E6%81%AF%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u18c04e4b%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uc2295d78%22%2C%22fid%22%3A%22u1c40e451%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A5%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub283cba4%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E7%8A%B6%E6%80%81%E7%9B%91%E6%8E%A7%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u3ae61ecb%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u93c0960a%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ube009a2c%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u4cb49319%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22function%20monitor()%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u01e20ae4%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E7%8A%B6%E6%80%81%E7%9B%91%E6%8E%A7%E5%87%BD%E6%95%B0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u154b2622%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u31424595%22%2C%22level%22%3A2%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u620145d4%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u23aafbe4%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22while%20(isRunning)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uc50b166a%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%BD%93%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E6%97%B6%EF%BC%8C%E6%8C%81%E7%BB%AD%E7%9B%91%E6%8E%A7%E4%BB%BB%E5%8A%A1%E8%BF%9B%E5%BA%A6%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ud14805bb%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u37638a73%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uc4145942%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ud76d559e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22var%20completed%20%3D%20TASK_QUEUE.filter(t%20%3D%3E%20t.status%20%3D%3D%3D%20%5C%22completed%5C%22).length%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7327ea58%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E7%BB%9F%E8%AE%A1%E5%B7%B2%E5%AE%8C%E6%88%90%E7%9A%84%E4%BB%BB%E5%8A%A1%E6%95%B0%E9%87%8F%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u67ade05f%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u37638a73%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ub38c3a5c%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u1798db54%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22printl(%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uedb3c2c0%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E4%BB%BB%E5%8A%A1%E8%BF%9B%E5%BA%A6%3A%22%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u2ca001ca%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%20%22%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u63e8539a%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%7BTASK_QUEUE.length%7D%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ua0da193a%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uccc92e34%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7230831e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%89%93%E5%8D%B0%E5%BD%93%E5%89%8D%E4%BB%BB%E5%8A%A1%E8%BF%9B%E5%BA%A6%E4%BF%A1%E6%81%AF%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ud0048a53%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u37638a73%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ua4fa92bb%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ud5afb0c3%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22if%20(time.nowStamp()%20-%20T%20%3E%2010000)%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u90d58f8e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%A6%82%E6%9E%9C%E7%B3%BB%E7%BB%9F%E8%BF%90%E8%A1%8C%E6%97%B6%E9%97%B4%E8%B6%85%E8%BF%8710%E7%A7%92%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22uc6a03d23%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u63abba12%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%2C2%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u12d58f6d%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub451beb8%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22isRunning%20%3D%20false%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u7940bf4b%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E5%B0%86%E7%B3%BB%E7%BB%9F%E8%BF%90%E8%A1%8C%E6%A0%87%E5%BF%97%E8%AE%BE%E4%B8%BA%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ua65289f5%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uc94d2d29%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22false%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u9c0efa98%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%8C%E5%81%9C%E6%AD%A2%E7%B3%BB%E7%BB%9F%E8%BF%90%E8%A1%8C%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u2f71a4a2%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u63abba12%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%2C2%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u67eb7c5e%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ua03db848%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22printl(%5C%22%E7%9B%91%E6%8E%A7%E7%BB%93%E6%9D%9F%5C%22)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ub1b699e6%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E6%89%93%E5%8D%B0%E7%9B%91%E6%8E%A7%E7%BB%93%E6%9D%9F%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u9744ebcc%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u63abba12%22%2C%22level%22%3A4%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%2C2%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u698252cc%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u5919ce27%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22break%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u829da3f1%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E9%80%80%E5%87%BA%E5%BE%AA%E7%8E%AF%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u9c2342f3%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22u591078e0%22%2C%22fid%22%3A%22u37638a73%22%2C%22level%22%3A3%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%2C0%2C0%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u6b721dd2%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u5c42a505%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22sleep.millisecond(2000)%3B%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22udc1cb025%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%EF%BC%9A%E7%9B%91%E6%8E%A7%E7%BA%BF%E7%A8%8B%E6%AF%8F2%E7%A7%92%E6%A3%80%E6%9F%A5%E4%B8%80%E6%AC%A1%E4%BB%BB%E5%8A%A1%E8%BF%9B%E5%BA%A6%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u12222022%22%2C%22name%22%3A%22oli%22%2C%22attrs%22%3A%7B%22list%22%3A%22uc2295d78%22%2C%22fid%22%3A%22u1c40e451%22%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5B%5D%2C%22index%22%3A6%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u864d95a8%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E4%B8%BB%E7%A8%8B%E5%BA%8F%E6%89%A7%E8%A1%8C%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ueb307f99%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud640fa44%22%2C%22fid%22%3A%22ue3a571ef%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A0%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u70e404c6%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E6%B7%BB%E5%8A%A0%E4%BB%BB%E5%8A%A1%EF%BC%9A%E4%BD%BF%E7%94%A8%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u2279e245%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf6c6a61f%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22for%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ue07eb5c9%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%BE%AA%E7%8E%AF%E6%B7%BB%E5%8A%A010%E4%B8%AA%E4%BB%BB%E5%8A%A1%E5%88%B0%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ucd027d21%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud640fa44%22%2C%22fid%22%3A%22ue3a571ef%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A1%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u94050dbb%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%90%AF%E5%8A%A8%E7%B3%BB%E7%BB%9F%EF%BC%9A%E8%B0%83%E7%94%A8%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22ue87aa47d%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22ubee3727e%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22initThreadPool()%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uf3aa2679%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%87%BD%E6%95%B0%E5%88%9D%E5%A7%8B%E5%8C%96%E7%BA%BF%E7%A8%8B%E6%B1%A0%EF%BC%8C%E5%90%AF%E5%8A%A8%E5%B7%A5%E4%BD%9C%E7%BA%BF%E7%A8%8B%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u270a9230%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud640fa44%22%2C%22fid%22%3A%22ue3a571ef%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A2%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u237a0c15%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%90%AF%E5%8A%A8%E7%9B%91%E6%8E%A7%E7%BA%BF%E7%A8%8B%EF%BC%9A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%E7%BA%BF%E7%A8%8B%E7%94%A8%E4%BA%8E%E7%9B%91%E6%8E%A7%EF%BC%8C%E5%B9%B6%E8%BF%90%E8%A1%8C%5C%22%E6%88%AA%E5%9B%BE.js%5C%22%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BC%A0%E5%85%A5%5C%22monitor%5C%22%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E3%80%82%22%7D%5D%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u865c095b%22%2C%22name%22%3A%22uli%22%2C%22attrs%22%3A%7B%22list%22%3A%22ud640fa44%22%2C%22fid%22%3A%22ue3a571ef%22%2C%22level%22%3A1%2C%22indexStyle%22%3A%7B%7D%2C%22indexType%22%3A0%2C%22parentIndex%22%3A%5Bnull%5D%2C%22index%22%3A3%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u274cab19%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E4%B8%BB%E7%BA%BF%E7%A8%8B%E6%89%A7%E8%A1%8C%E7%9B%91%E6%8E%A7%EF%BC%9A%E8%B0%83%E7%94%A8%22%7D%2C%7B%22type%22%3A%22element%22%2C%22id%22%3A%22u22aeed54%22%2C%22name%22%3A%22code%22%2C%22attrs%22%3A%7B%7D%2C%22children%22%3A%5B%7B%22type%22%3A%22text%22%2C%22id%22%3A%22uc3189a45%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22monitor()%22%7D%5D%7D%2C%7B%22type%22%3A%22text%22%2C%22id%22%3A%22u76d5d97c%22%2C%22name%22%3A%22%23text%22%2C%22attrs%22%3A%7B%7D%2C%22data%22%3A%22%E5%87%BD%E6%95%B0%E8%BF%9B%E8%A1%8C%E7%9B%91%E6%8E%A7%E3%80%82%22%7D%5D%7D%5D%2C%22attrs%22%3A%7B%7D%7D" source="https%3A%2F%2Fwww.yuque.com%2Faiwork%2Fnba2pr%2Fwycmeir0wkmrw0lz"></ne-clipboard><div class="lake-content" typography="classic"><ol class="ne-ol" style="padding-left: 23px;"><li id="u04ec59e4" data-lake-index-type="0"><span class="ne-text">以下是代码的详细说明:</span></li><li id="ue63f9537" data-lake-index-type="0"><span class="ne-text">初始化</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="u21d23657" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var T = time.nowStamp();</span></code><span class="ne-text">:记录系统启动的时间戳。</span></li><li id="ufd161083" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var MAX_WORKERS = 4;</span></code><span class="ne-text">:定义最大工作线程数为4。</span></li><li id="u20ff8498" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var TASK_QUEUE = [];</span></code><span class="ne-text">:任务队列,用于存储待执行的任务。</span></li><li id="u70b4dabb" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var isRunning = true;</span></code><span class="ne-text">:系统运行标志,当为</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">true</span></code><span class="ne-text">时,系统持续运行。</span></li></ul></ul><ol start="3" class="ne-ol" style="padding-left: 23px;"><li id="u35e143ef" data-lake-index-type="0"><span class="ne-text">定义工作任务</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="u4f0eff7a" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">function createTask(taskId)</span></code><span class="ne-text">:定义一个函数来创建任务对象。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="2" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="uac80b001" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">id: taskId</span></code><span class="ne-text">:任务ID。</span></li><li id="ubdfa93cb" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">status: "pending"</span></code><span class="ne-text">:任务状态,初始为"pending"(待执行)。</span></li><li id="ufc4805e1" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">startTime: 0</span></code><span class="ne-text">:任务开始时间,初始为0。</span></li><li id="uf5c2d558" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">endTime: 0</span></code><span class="ne-text">:任务结束时间,初始为0。</span></li></ul></ul><ol start="4" class="ne-ol" style="padding-left: 23px;"><li id="u2f53acb0" data-lake-index-type="0"><span class="ne-text">工作线程执行函数</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="ue786421c" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">function workerFunction(workerId)</span></code><span class="ne-text">:定义一个工作线程的执行函数。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="2" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u718e16bd" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">while (isRunning)</span></code><span class="ne-text">:当系统正在运行时,工作线程持续寻找任务。</span></li><li id="u87669ac8" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var task = TASK_QUEUE.find(t =&gt; t.status === "pending");</span></code><span class="ne-text">:从任务队列中找到状态为"pending"的任务。</span></li><li id="u18ac5da1" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">if (task)</span></code><span class="ne-text">:如果找到待执行的任务。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="3" class="ne-ul" style="padding-left: 23px;"><li id="u792a2d42" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">task.status = "running";</span></code><span class="ne-text">:将任务状态更改为"running"(正在执行)。</span></li><li id="u1316518e" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">task.startTime = time.nowStamp();</span></code><span class="ne-text">:记录任务开始时间。</span></li><li id="u39149eb2" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">printl(</span></code><span class="ne-text">[</span><span class="ne-text">{task.id}</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">);</span></code><span class="ne-text">:打印工作线程开始执行任务的信息。</span></li><li id="u2558e77a" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">try</span></code><span class="ne-text">:尝试执行任务。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="4" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="u69957353" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">load("截图.js");</span></code><span class="ne-text">:加载并执行"截图.js"脚本,用于执行具体的任务逻辑。</span></li><li id="u8ab9f537" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">task.status = "completed";</span></code><span class="ne-text">:任务执行成功后,将状态更改为"completed"(已完成)。</span></li><li id="udfa991ae" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">printl(</span></code><span class="ne-text">[</span><span class="ne-text">{task.id} 完成</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">);</span></code><span class="ne-text">:打印工作线程完成任务的信息。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="3" class="ne-ul" style="padding-left: 23px;"><li id="u58f62b6e" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">catch (e)</span></code><span class="ne-text">:如果任务执行过程中发生错误。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="4" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="ue71735da" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">task.status = "failed";</span></code><span class="ne-text">:将任务状态更改为"failed"(失败)。</span></li><li id="u721ee67f" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">printl(</span></code><span class="ne-text">[</span><span class="ne-text">{task.id} 失败: ${e}</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">);</span></code><span class="ne-text">:打印工作线程任务失败的信息及错误原因。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="3" class="ne-ul" style="padding-left: 23px;"><li id="u9c19bcd3" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">finally</span></code><span class="ne-text">:无论任务成功或失败。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="4" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="u96ed1d35" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">task.endTime = time.nowStamp();</span></code><span class="ne-text">:记录任务结束时间。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="2" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ud3eb3993" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">sleep.millisecond(100);</span></code><span class="ne-text">:如果没有待执行的任务,工作线程休眠100毫秒后再次检查。</span></li></ul></ul><ol start="5" class="ne-ol" style="padding-left: 23px;"><li id="u33b3d38d" data-lake-index-type="0"><span class="ne-text">初始化线程池</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="u5485e018" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">function initThreadPool()</span></code><span class="ne-text">:定义一个函数来初始化线程池。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="2" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ue1212a9a" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">for (var i = 0; i &lt; MAX_WORKERS; i++)</span></code><span class="ne-text">:根据</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">MAX_WORKERS</span></code><span class="ne-text">的数量创建相应数量的工作线程。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="3" class="ne-ul" style="padding-left: 23px;"><li id="ufa88599b" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var worker = new thread();</span></code><span class="ne-text">:创建一个新线程。</span></li><li id="u8307cfff" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">worker.runJsFile("截图.js", "worker-" + (i + 1));</span></code><span class="ne-text">:让新线程运行"截图.js"脚本,传入线程ID作为参数。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="2" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ucbc988e8" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">printl(</span></code><span class="ne-text">已创建 ${MAX_WORKERS} 个工作线程</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">);</span></code><span class="ne-text">:打印已创建的工作线程数量信息。</span></li></ul></ul><ol start="6" class="ne-ol" style="padding-left: 23px;"><li id="u18c04e4b" data-lake-index-type="0"><span class="ne-text">状态监控</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="u3ae61ecb" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">function monitor()</span></code><span class="ne-text">:定义一个状态监控函数。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="2" class="ne-ul" style="padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u154b2622" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">while (isRunning)</span></code><span class="ne-text">:当系统正在运行时,持续监控任务进度。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="3" class="ne-ul" style="padding-left: 23px;"><li id="ud14805bb" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">var completed = TASK_QUEUE.filter(t =&gt; t.status === "completed").length;</span></code><span class="ne-text">:统计已完成的任务数量。</span></li><li id="u67ade05f" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">printl(</span></code><span class="ne-text">任务进度:</span><span class="ne-text"> </span><span class="ne-text">{TASK_QUEUE.length}</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">);</span></code><span class="ne-text">:打印当前任务进度信息。</span></li><li id="ud0048a53" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">if (time.nowStamp() - T &gt; 10000)</span></code><span class="ne-text">:如果系统运行时间超过10秒。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="4" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="uc6a03d23" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">isRunning = false;</span></code><span class="ne-text">:将系统运行标志设为</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">false</span></code><span class="ne-text">,停止系统运行。</span></li><li id="u2f71a4a2" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">printl("监控结束");</span></code><span class="ne-text">:打印监控结束的信息。</span></li><li id="u9744ebcc" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">break;</span></code><span class="ne-text">:退出循环。</span></li></ul></ul><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="3" class="ne-ul" style="padding-left: 23px;"><li id="u9c2342f3" data-lake-index-type="0"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">sleep.millisecond(2000);</span></code><span class="ne-text">:监控线程每2秒检查一次任务进度。</span></li></ul></ul><ol start="7" class="ne-ol" style="padding-left: 23px;"><li id="u12222022" data-lake-index-type="0"><span class="ne-text">主程序执行</span></li></ol><ul class="ne-list-wrap" style="padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="padding-left: 23px; list-style: circle;"><li id="ueb307f99" data-lake-index-type="0"><span class="ne-text">添加任务:使用</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">for</span></code><span class="ne-text">循环添加10个任务到任务队列。</span></li><li id="ucd027d21" data-lake-index-type="0"><span class="ne-text">启动系统:调用</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">initThreadPool()</span></code><span class="ne-text">函数初始化线程池,启动工作线程。</span></li><li id="u270a9230" data-lake-index-type="0"><span class="ne-text">启动监控线程:创建一个新的线程用于监控,并运行"截图.js"脚本,传入"monitor"作为参数。</span></li><li id="u865c095b" data-lake-index-type="0"><span class="ne-text">主线程执行监控:调用</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">monitor()</span></code><span class="ne-text">函数进行监控。</span></li><li id="u865c095b" data-lake-index-type="0"><span class="ne-text"></span></li></ul></ul></div></li></ul></div><p></p>
页: [1]
查看完整版本: AIWROK软件多线程thread1.runJsFile例子