要一直走下去

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2018年9月25日

摘要: 一、协程简介、引子 ''' 协程:异步IO,队列,缓存 Nginx效率高就是用了异步IO 协程是一种用户态的轻量级线程。又称微线程,怎么理解呢?后面会说 CPU只认识线程,不会像线程一样吧上下文保存在CPU寄存器,协程是用户控制的。 协程能保留上一次调用时的状态,单线程下实现并发效果 协程的好处: 阅读全文
posted @ 2018-09-25 23:03 要一直走下去 阅读(986) 评论(0) 推荐(0) 编辑

摘要: 阅读全文
posted @ 2018-09-25 20:21 要一直走下去 阅读(322) 评论(0) 推荐(0) 编辑

2018年9月23日

摘要: ''' 进程池,启动一个进程就要克隆一份数据,假设父进程1G,那么启动进程开销很大 避免启动太多造成系统瘫痪,就有进程池,即同一时间允许的进程数量 ps:线程没有池,因为线程启动开销小,线程有类似信号量来控制 ''' ''' windows上必须加语句: if __name__ == '__main 阅读全文
posted @ 2018-09-23 18:06 要一直走下去 阅读(4149) 评论(0) 推荐(0) 编辑

摘要: 1.使用multiprocessing模块的Queue实现数据传递 ''' 进程间通讯: Queue,用法跟线程里的Queue一样,put,get 线程queue没有做序列化,进程queue做序列化了 父进程的queue怎么传给子进程的?父进程的queue克隆了一份到子进程 按理说两个queue没关 阅读全文
posted @ 2018-09-23 16:45 要一直走下去 阅读(442) 评论(0) 推荐(0) 编辑

摘要: ''' 多线程使用场景: 怎样用Python的多线程提高效率? io操作不占用CPU 计算操作占用CPU Python多线程不适合CPU操作密集型的任务,适合io操作密集型的任务 如果有CPU操作密集型的任务需要用多进程,启动八个进程每个进程里一个线程,一共八个线程 在八核上运行,可以利用八核了,唯 阅读全文
posted @ 2018-09-23 11:07 要一直走下去 阅读(970) 评论(0) 推荐(0) 编辑

2018年9月22日

摘要: ''' queue队列,什么是队列?排队干一件事,谁去维护排队的关系?预防插队等 队列是一个有顺序的容器,有列表了还要队列干什么。 根本区别是列表里拿走一个数据,数据还在里面。队列是数据取走了就没了 为什么要用队列?提高双方效率,解耦合,生产者向队列里放,(队列),消费者从队列里取 1、先入先出 q 阅读全文
posted @ 2018-09-22 23:47 要一直走下去 阅读(244) 评论(0) 推荐(0) 编辑

摘要: ''' 简单的需求:红绿灯,红灯停,绿灯行 一个线程扮演红绿灯,每过一段时间灯变化,3-5个线程扮演车,红灯停,绿灯行 红绿灯线程和车的线程会相互依赖 这种场景怎么实现? 事件 切换一次灯就是一次事件,这次事件的变化造成其他状态的变化 事件是用于线程之间的数据同步的。事件变化其他线程相应作出变化 应 阅读全文
posted @ 2018-09-22 17:18 要一直走下去 阅读(781) 评论(0) 推荐(0) 编辑

2018年9月19日

摘要: 递归锁: ''' 递归锁: 需求:有多道门,同时只允许一个线程进门 如果用之前的锁,进来的时候进来了,出去的时候找不到对应的锁 下面的程序中,锁的形象表示: { run3 { run1 } { run2 } } 说明:这里有三把锁,如果用的是普通锁,进到run1里面就出不来了。因为找不到哪一把钥匙 阅读全文
posted @ 2018-09-19 11:53 要一直走下去 阅读(179) 评论(0) 推荐(0) 编辑

2018年9月16日

摘要: 既然有了GIL锁,CPython还要多线程干什么? ''' GIL:全局解释器锁的来历 四核:同一时刻真正有四个任务在运行,多核的意义在于此 单核:看上去是并发的,因为进行了上下文切换,单核永远是串行的,并发是假象 CPython中不论有多少核,只有一个核心的CPU资源被使用,因为同一时间只有一个线 阅读全文
posted @ 2018-09-16 21:01 要一直走下去 阅读(254) 评论(0) 推荐(0) 编辑

摘要: ''' 一个主线程可以启动几个守护线程,为主线程服务 守护线程为主线程服务,主线程退出,守护线程也自动强制跟着退出,不会执行完。 之前的线程是用join等执行完了主线程才往下走,例如:其他线程对公共变量做累加 如果不加join,主线程直接跑完了,跑完的时候打印公共变量结果,但此时程序还没结束,公共变 阅读全文
posted @ 2018-09-16 20:58 要一直走下去 阅读(851) 评论(0) 推荐(0) 编辑