金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
>>困惑
ExitScript?少接触多线程的童鞋,可能还没有使用过它。
而 EndScript ,童鞋们一定觉得它比ExitScript亲切。在编写脚本的过程中,时常用到它。
在普遍童鞋的记忆中,EndScript就是一条用来结束脚本运行的命令。
实际上是不是这样呢?
>>解析
实际上不是这样的。
EndScript 的作用是 结束当前线程。
脚本启动的时候,会创建一条默认的线程,也就是我们说的主脚本/主线程。
在主线程中启动的线程称为子线程。主线程和子线程都是线程。
而 EndScript 的作用就是结束当前使用了它的线程。
如果在主脚本中使用 EndScript 则停止主脚本,其它的子线程仍然在继续运行。
如果在子线程中使用EndScript 则停止子线程,主脚本和其它的子线程仍然在继续运行。
主线程中使用EndScript 的例子:
BeginThread 线程 //启动线程Do TracePrint \"主脚本还在执行\"EndScript Delay 1000Loop Sub 线程 DoTracePrint \"线程还在执行\"Delay 1000LoopEnd Sub复制代码
分析:
第1步: [backcolor=rgb(247, 247, 247)]BeginThread 线程 启动线程。
第2步: 进入Do 循环,循环第一次输出\"主脚本还在执行\"。
第3步: 紧接着执行 [backcolor=rgb(247, 247, 247)]EndScript 退出当前线程,也就是主线程。
第4步: 主线程结束了,第1步启动的线程还在继续执行,循环输出“线程还在执行”
执行结果:
子线程中使用EndScript 的例子:
BeginThread 线程1//启动线程1BeginThread 线程2 //启动线程2Do TracePrint \"主脚本还在执行\"Delay 1000Loop Sub 线程1 DoTracePrint \"线程1还在执行\"EndScript Delay 1000LoopEnd SubSub 线程2DoTracePrint \"线程2还在执行\"Delay 1000LoopEnd Sub复制代码
分析:
1: [backcolor=rgb(247, 247, 247)]BeginThread 线程1 启动线程1。[backcolor=rgb(247, 247, 247)]BeginThread 线程2 启动线程2
2:进入主脚本的Do 循环,循环输出\"主脚本还在执行\"。
3: 线程1中输出一次“线程1还在执行”之后,使用 [backcolor=rgb(247, 247, 247)]EndScript 结束当前线程。
4: 线程1结束了,而线程2和主脚本都还在继续执行。
执行结果:
ExitScript 就不像EndScript那么温柔好说话,不管哪个线程里执行了它,它不仅会把执行它的线程结束掉,还会顺便把其它的线程都结束掉,相当于按下了脚本的中止热键。