python中的进程 线程 和协程

自己学习下来的理解嘛:

       python真正意义上面没有多线程,但是是有多进程的,进程好比一个软件的运行,线程好比一个软件下面的各个功能的实现,python不能实现多线程的原因是因为GIL的存在,GIL保证了每一时刻都只允许一个线程在执行,没有取消掉这个锁的原因是,已经根深蒂固了很长时间,所有都用到了这个锁,而且python解释器丢掉了这个全局解释器锁发现速度还没有不扔掉快,所以就一直保留在现在,python多线程爬虫也是这个原理,实际上面就是单线程,但是python多线程爬虫用到了协程的概念,协程的作用就是在你一个线程发出去一个请求的时候要等很长时间才会给你一个响应,这样就很慢,协程就这样做,在你发出的一个请求的时候,在响应回来这段时间里面,可以接着继续在多发几个请求过去,这样响应也会节省很多时间,协程就是在线程上面更小的执行单位,协程的速度都比线程和进程高很多。

 

 

python中解决多线程的原因:

       将多线程改为多进程threading--->multiprocessing

      或者更换语言(当然这种不可取,因为我只会python)

     再者就像python爬虫一样附加协程来实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值