进程+线程+协程
MxyDevil
这个作者很懒,什么都没留下…
展开
-
进程
进程 多任务原理 多任务的由来(进程 线程的发展): 1, 早期的计算机是没有操作系统的,只有输入,计算,输出。手工输入速度远低于计算机的计算速度。 2, 于是出现了批处理操作系统,通过纸带,磁带等工具预先写入指令,形成一个指令清单(即任务)交给计算机处理。但批处理系统的缺点是只能有一个任务,而且当计算机在进行I/O处理时,CPU是空闲的。 3, 世人发明了进程,一个进程就代表一个任务,多个进程通...原创 2019-02-23 13:11:01 · 105 阅读 · 0 评论 -
线程
线程 在一个进程的内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”叫做线程。 线程通常叫做轻型的进程。线程是共享内存空间的并发执行的多任务,每一个线程都共享一个进程的资源。 线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。 模块 1、_thread模块 低级模块,接近底层...原创 2019-02-23 14:06:26 · 95 阅读 · 0 评论 -
线程进阶
线程进阶 实现线程局部变量 ThreadLocal可以实现线程数据不共享。即线程的局部变量。 先来看一个例子: import threading num = 0 # 创建一个全局的ThreadLocal对象 # 每个线程有独立的存储空间 # 每个线程对ThreadLocal对象都可以读写, 但是互不影响 local = threading.local() def run(x, n): ...原创 2019-02-23 14:15:59 · 107 阅读 · 0 评论 -
python中的多线程
多线程补充 Python中的多线程是假的多线程! 为什么这么说,我们先明确一个概念,全局解释器锁(GIL)global interpreter lock Python代码的执行由Python虚拟机(解释器)来控制,同时只有一个线程在执行 对Python虚拟机的访问由全局解释器锁(GIL)来控制, 正是这个锁能保证同时只有一个线程在运行。 在多线程环境中,Python虚拟机按照以下方式执行。 ...原创 2019-02-23 14:18:42 · 139 阅读 · 0 评论 -
协程
协程 协程,又称微线程,纤程。英文名Coroutine。 Python中的协程经历了很长的一段发展历程。其大概经历了如下三个阶段: 最初的生成器变形yield/send 引入@asyncio.coroutine和yield from 在最近的Python3.5版本中引入async/await关键字 如何理解协程.先从普通的子程序入手.看下面的代码: def A(): print('...原创 2019-02-23 14:29:41 · 303 阅读 · 0 评论