线程 vs 进程 进程:一堆资源集的集合。线程:操作系统能够调度的最小单位。 进程和线程的谁快是误区,进程至少包含一个线程,是没有可比性的。 线程:共享内存,两个线程同时操作一个数据,要加锁。全局GIL lock解释性锁。Lock,加锁;RLock()递归锁,即嵌套锁。线程同时操作一份数据的时候加锁 ...
分类:
其他好文 时间:
2017-09-10 11:19:35
阅读次数:
127
线程版处理多任务: 线程这里注意:一定要把主线程进行阻塞,通过释放GIL才能创建另一个线程,执行多任务 协程版处理多任务 协程通过创建绿程,和yield from方式执行多任务。同一时间只有一个协程 这里的 旋转的指针thinking,三秒过后42 注意点: 关于协程,国人网上资料错误真是错误百出, ...
分类:
编程语言 时间:
2017-09-10 11:13:59
阅读次数:
161
恢复内容开始 1 开启线程的两种方式 2 线程与进程的pid 3 多线程共享同一个进程内的资源 4 多线程共享同一进程内地址空间 5 Thead对象其他相关的属性或方法 6 守护线程 7 GIL全局解释器锁 8 线程的互斥锁 9 互斥锁与join的区别 恢复内容结束 ...
分类:
编程语言 时间:
2017-09-08 13:35:50
阅读次数:
208
1、一个应用程序,默认单进程,单线程;2、python GIL,全局解释器锁,cpu每次只能执行一个进程中的一个线程。3、多进程,多线程: IO操作使用多线程可以提高效率; 计算型操作使用多进程可以提高效率。 ...
分类:
编程语言 时间:
2017-09-06 19:41:27
阅读次数:
138
1、“并发”指的是程序的结构,“并行”指的是程序运行时的状态 2、并行:同一时刻执行,判断程序是否处于并行的状态,就看同一 时刻是否有超过一个“工作单位”在运行就好了。 所以,单线程永远无法达到并行状态。 要达到并行状态,最简单的就是利用多线程和多进程。 Python的多线程由于存在著名的GIL,无 ...
分类:
其他好文 时间:
2017-09-04 14:56:01
阅读次数:
87
前言 以下内容是个人学习之后的感悟,转载请注明出处~ 线程是什么 线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的 基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。 GIL是什么 为了更有效的利用多核处 ...
分类:
编程语言 时间:
2017-09-04 13:11:04
阅读次数:
165
什么是进程process: 运行中的程序就称为进程,我们写好的程序,如果不运行的话就是一堆普通的字符,没有任何意义。 并行与并发: 并发:伪并行,看起来是同时运行,实际是cpu+多道技术实现,cpu在多个任务间快速切换,给我们造成的感觉就好像是在同时运行。 并行:只有具备多个cpu才能实现真正意义上 ...
分类:
编程语言 时间:
2017-09-02 19:01:34
阅读次数:
276
GIL全局解释器锁: 在Cpython 解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势。 所有的python代码都是交给解释器解释的,在同一进程中的多个线程以及解释器自带的垃圾回收线程是共享解释器资源的,共享就意味着竞争,竞争就会出现问题,比如说python线程想要 ...
分类:
编程语言 时间:
2017-08-30 21:45:11
阅读次数:
256
之前我们学了很多进程间的通信,多进程并发等等,今天我们来学习线程,线程和进程是什么关系,进程和线程有什么相同而又有什么不同今天就来揭晓这个答案。 ...
分类:
编程语言 时间:
2017-08-30 00:50:47
阅读次数:
231