python多线程?

查看:96
本文介绍了python多线程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

最近看书上写的,python解释器可以运行多个线程,但在任一时刻,只有一个线程在运行。

我不理解的是,既然任意时刻只有一个线程在运行,那为什么还是并发编程呢?这样的话两个线程运行的时间总和不还是两个线程的运行时间相加?但是实际上又不是。

请大家帮忙解惑一下,谢谢。

解决方案

因为Python有一把超大的线程锁GIL,使得同一时刻只有一个Python线程在运行。

为什么还使用并发编程呢?

  • 因为你需要除了使用CPU之外,Python线程还需要使用磁盘IO,网络IO的资源;

  • 一个线程被IO阻塞了,其他线程可以切换过来干活,线程切换粒度更小;

  • 多个线程之间可以协同完成共同任务

  • 多线程之间共享数据方便

这篇关于python多线程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆