首页 > 编程语言 > 详细

(11)多线程概念

时间:2019-04-28 22:41:32      阅读:127      评论:0      收藏:0      [点我收藏+]

 

#进程是资源分配的最小单位

#线程是计算机中调度的最小单位

#线程的缘起

资源分配需要分配内存空间,分配cpu:

分配的内存空间存放着临时要处理的数据等,比如要执行的代码,数据

而这些内存空间是有限的,不能无限分配

目前来讲,普通机器,5个并发程序已是上限.线程概念应用而生.

#线程的特点

线程是轻量级,干更多的活,同一个进程中的所有线程的资源是共享的.

每一个进程中都有至少一条线程在工作

线程的缺陷

#线程可以并发,但是不能并行(即可以1个cpu执行,不能多个cpu一起执行)

#原因:

python是解释型语言,执行一句编译一句,而不是一次性全部编译成功,不能提前规划,都是临时调度

容易造成不同的cpu却反复执行同一个程序.所以加了一把锁叫GIL

全局解释器锁(Cpython解释器特有) GIL锁:同一时间一个线程只能被一个cpu执行

#想要并行的解决办法:

(1)用多进程

(2)换一个Pypy解释器

#计算型程序会过度依赖cpu,但网页,爬虫,OA办公,这种交互型带有阻塞的程序里,速度影响无所谓

 

 

 

(11)多线程概念

原文:https://www.cnblogs.com/lyj910313/p/10787291.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!