摘要:
1. 同步,异步,阻塞,非阻塞, 站在任务发布的角度: 同步: 任务发出去之后,等待结果,直到这个任务最终结束后,返回结果,再发步下一个任务. 异步 :所有任务同时发出,不会在原地等待结果返回 程序运行中表现得状态:阻塞.运行,就绪 阻塞 :程序遇到IO阻塞,程序遇到IO立马会停止(挂起),cpu马 阅读全文
摘要:
GIL,进程池/线程池 GIL的全称是: Global Interpreter Lock,意思就是全局解释器锁,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如: Jython,Pypy 为什么会有GIL: 随着电脑多 阅读全文
摘要:
多线程 一, 开启多线程的两种方式 二, 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 三, 线程相关的其他方法 四, 守护线程 无论是进程还是线程,都遵循: 守护xx会等待主xx运行完毕后被销毁 需要强调的是: 运行完毕并非终止运行 对主进程来说,运行完毕指的是主进程代码运行完毕 主 阅读全文
摘要:
进程的介绍 一, 进程的介绍 一, 程序和进程 进程: 正在进行的一个过程或者说一个任务.而负责执行任务的是cpu. 单核 + 多道,实现多个进程的并发 程序: 一堆代码,一堆文件 同一个程序执行两次,那也是两个进程,比如打开暴风影音,虽然都是同一个软件,但是一个可以播放天空之城,一个可以播放七龙珠 阅读全文
摘要:
线程 一, 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 进程: 划分空间,加载资源,静态的 线程: 执行代码,执行能力,动态的 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位 线程是依赖于进程,一个进程可以包含多 阅读全文
摘要:
互斥锁 队列 消费者模型 一,互斥锁 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理 并发运行,效率高,但竞争同一打印终端,带来了打印错乱 串行: 保证了顺序,但是没有实现公平 加锁: 阅读全文
摘要:
pid 数据隔离 jion 属性 僵尸孤儿 守护进程 一,multiprocessing模块 python中的多线程无法利用多核优势, 如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程.Python提供了multiprocessing. 阅读全文