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

Python从0到1:threading多线程编程

python中的多线程就是在一个进程中存在着多个线程,在线程中,所有的线程都是共享资源的,线程之间的数据通信很简单。但是python仅支持一个线程的运行,因为python中存在一个全局解释器锁GIL(global interpreter lock),正是这个锁能保证同一时刻只有一个线程在运行,所以多线程依旧像是单线程的运行。

python多线程编程是为了并行运行相互独立的子任务,大幅度提高整个任务的效率,比如异步任务、运算密集型任务等。线程有开始,顺序执行和结束三个阶段。python多线程编程中常用方法有:start()方法、run()方法、join()方法、isAlive()方法、getName()方法、setName()方法、isDaemon()方法、setDaemon()方法等。

在python多线程模块主要有thread和threading,推荐大家使用threading模块,因为threading进行了大量的封装,从而不需要管理子线程和主线程之间的问题,也允许用户自己创建和管理线程。

多任务可以由多进程完成,也可以由一个进程内的多线程完成。多线程中任务有以下特点:异步的,多个并发事务,各个事务的运行顺序是不确定的、随机的、不可预测的。所以多线程编程模型复杂,容易发生冲突,必须用锁加以隔离,同时,又要小心死锁的发生。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券