随笔分类 -  并发编程

摘要:0709自我总结 select模块 一.介绍 Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqueue方法(freeBSD系统) 二.select方法 三个参数 阅读全文
posted @ 2019-07-09 16:09 小小咸鱼YwY 阅读(494) 评论(0) 推荐(0) 编辑
摘要:07.08自我总结 一.协程的概念 协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 需要强调的是: 对比操作系统控制线程的切换,用户在单线程内控制协程的切换 优点如下: 缺点如下: 二.协程的应用 1.greenlet 阅读全文
posted @ 2019-07-08 20:18 小小咸鱼YwY 阅读(257) 评论(0) 推荐(0) 编辑
摘要:07.07自我总结 一.GIL 1.概念 在CPython中,这个全局解释器锁,也称为GIL,是一个互斥锁 2.带来的问题 首先必须明确执行一个py文件,分为三个步骤 1. 从硬盘加载Python解释器到内存 2. 从硬盘加载py文件到内存 3. 解释器解析py文件内容,交给CPU执行 当进程中仅存 阅读全文
posted @ 2019-07-07 17:31 小小咸鱼YwY 阅读(357) 评论(0) 推荐(0) 编辑
摘要:07.07自我总结 Event事件 一.导入模块 二.概念 线程间状态同步:即将一个任务丢到子进程中,这个任务将异步执行,如何获取到这个任务的 执行状态 注意: 执行状态和执行结果不是同一个概念,异步回调拿到的是任务的执行结果 假设 一个线程 负责启动服务器 启动服务器需要花一定的时间 另一个线程作 阅读全文
posted @ 2019-07-07 17:10 小小咸鱼YwY 阅读(413) 评论(0) 推荐(0) 编辑
摘要:07.07自我总结 进程池与线程池 一.进程池与线程池的函数的导入 进程池: 线程池: 二.进程池与线程池的定义 1.进程池的定义 pool = ProcessPoolExecutor(3) 设置最大进程为3 创建进程池,指定最大进程数为3,此时不会创建进程,不指定数量时,默认为CPU和核数 poo 阅读全文
posted @ 2019-07-07 16:44 小小咸鱼YwY 阅读(360) 评论(0) 推荐(2) 编辑
摘要:0707自我总结 队列 1.queue 模块 常用的两种方法 :先放什么参数先获取什么参数 :将放进去的所有参数进行排序,再按照顺序取出 :构造一个Lifo队列,会从最后开始往前取 2.queue 创建对象的方法 qsize() :返回queue的近似值。注意:qsize 0 不保证(get)取元素 阅读全文
posted @ 2019-07-07 16:11 小小咸鱼YwY 阅读(311) 评论(0) 推荐(1) 编辑
摘要:07.07自我总结 一.多进程的应用 1.多进程模块 其中常用到的几个功能 用于定义进程 :用于定义一个互斥锁 定义锁 :查看当前还在运行的自进程信息 :查看cpu进程 2.进程的方法 is_alive():返回进程是否在运行。 join([timeout]):阻塞当前上下文环境的进程程,直到调用此 阅读全文
posted @ 2019-07-07 15:32 小小咸鱼YwY 阅读(674) 评论(0) 推荐(1) 编辑
摘要:07.07自我总结 一.程序任务处理的三种方式 串行:程序自上而下的运行 并发:是一种伪并行,是将程序进行来回切换且切换程序时候保存程序切换前的运行状态 并行:基于cpu的基础上,有几个cpu就能进行几个程序同时进行 并发:当有多个线程在操作时,如果系统只有一个CPU,操作系统只能把CPU运行时间划 阅读全文
posted @ 2019-07-07 14:29 小小咸鱼YwY 阅读(336) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示