beginthread(beginthreadex用法)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及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那么温柔好说话,不管哪个线程里执行了它,它不仅会把执行它的线程结束掉,还会顺便把其它的线程都结束掉,相当于按下了脚本的中止热键。