首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python多线程(三)

引言

 在前面的章节我们介绍了使用线程和不使使用线程的对比实例,并且引入了锁的概念,这节课我们来了解一下更高级的threading模块。

threading

 在threading模块中不仅包含了Thread类,还包含了非常好用的同步机制,下面我们先看下threading的一些属性介绍:

 在前面的章节我们提到了锁和sleep(6)的讨论,不知道有没有同学去实验,如果不引入锁并且也不适用sleep(6)最后会导致什么结果?大家可以去试一下。

 根据上一个问题的讨论,所以在这里我不建议大家适用Thread模块,因为它没有守护线程这个概念,当主线程退出的时候,所有的子线程都将终止,不管他们是否正在工作当中。如果你不想这种事情发生,那就必须引入守护线程的概念了。

 threading模块支持守护线程,守护线程一般是一个等待客户端请求服务的服务器,如果没有客户端的请求,守护线程就是空闲的。如果把一个线程设置成为守护线程,就表示这个线程是不重要的,进程退出时不需要等待这个线程执行完成。

 如果主线程准备退出时,不需要等待某些子线程完成,就可以为这些子线程设置守护线程标记。该标记为true时,表示该线程不重要。或者说该线程只是用来等待客户端请求而不做任何其他的事情。

这节就到这里吧,明天继续。更多内容请持续关注公众号“计算机自学平台”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180910G06L5K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券