龙空技术网

《极简Python: 新手编程之道》11.2 等待线程结束

码农老关 79

前言:

当前你们对“python结束子线程”大概比较重视,我们都想要剖析一些“python结束子线程”的相关文章。那么小编在网络上收集了一些关于“python结束子线程””的相关内容,希望小伙伴们能喜欢,同学们快快来了解一下吧!

等待线程结束。

极简Python。

有的时候有一个线程会依赖于另外一个线程的执行结果,这个时候就需要等待线程结束。等待线程结束有两个方法,一个是join,一个是join,join timer。

·第一个join方法一直等待线程结束。

·第二个join带有timeline的参数,timeout参数就是设置一个线程等待时间,超过这个时间就不等了。

这是等待线程结束,来看具体代码。下面看具体配套的代码。

·在这声明了一个微流变量,注意这个变量是全局变量,它是在模块里函数之外声明的变量。

·然后在函数里面去改变变量,让线程先让它线程休眠五秒钟,然后去改变变量,把变量声明为google的,这样就可以在任何地方去修改变量。

·然后往下走,这个是线程函数,外边在模块里创建了一个线程y,这个线程会调用线程函数启动y线程。

·再往下走,y线程要注意y线程转y调用y线程的转函数,这样会导致当前线程主色等待y线程执行结束。

再说一遍,在哪个线程调用y线程召唤函数,当前线程就要等待y线程结束。当前运行的程序代码的线程是主线程,也说主线程处于主侧状态,然后等待y线程执行结束。

什么时候执行结束?y线程就是调用timeout的函数结束了。因为timeout函数调用timeout函数的时候,当前线程会休眠五秒钟,然后执行对video变量每加一就执行结束了。这个时候结束之后主线上再继续执行。

所以这个中文函数不是让调用的线程处于等待状态,是让当前线程处于等待状态,等待调用的线程执行结束,就是这个意思,不要搞反了。

来执行一下这个边,这个例子,主线程处于等待状态,等待谁?等待y线程结束。结束之后主线程继续执行,然后这个变量打印v,这个变量加一了。什么时候加一?在y线程里加一了,就是这样,这是等待线程结束。

还有另外一个例子,这个例子是加了线程休眠加上线程等待的超时,这块是让它超两秒钟后超时。因为测试的时候当前线程休眠五秒钟,如果y线程运行的时候到这会休眠五秒钟,主线程等两秒,很显然主线程不会继续等。来看执行的情况,等,结束了,等一会就不等了。不等之后主线程继续执行,在这去判断主线程继续执行,因为等了两秒钟就不等了。

继续执行在这判断一下y线程是否处于活动状态,判断线程是否处于活动状态,线程是不是没有结束,处于活动状态就在这里打印出来线程,外线程还在运行状态,所以这个是休眠的时间,休眠时间让它长一点,假如休眠时间让它短一点变成一秒钟,看一看会不会打出来仍处于活动状态。

执行完成之后主线程继续执行,走到这的时候这块是会打印线程,判断线程y线程,它说以为force,所以执行了这句话主线程,在主线中y线程已经停止了,设置时间短一点就不会等了,直接执行结束。

这就是介绍的等待线程,课程就介绍到这里,大家有什么问题可以加入我的服群,详情请见课件最后一页。

标签: #python结束子线程