随笔分类 - 并发编程
摘要:多线程补充以及协程 1.线程队列 线程队列用法与进程队列一样 2.事件 3.协程 一般在工作中我们都是进程+线程+协程的方式来实现并发,以达到最好的并发效果,如果是4核的cpu,一般起5个进程,每个进程中20个线程(5倍cpu数量),每个线程可以起500个协程,大规模爬取页面的时候,等待网络延迟
阅读全文
摘要:多线程(三) 1.同步/异步and阻塞/非阻塞 进程运行的三种状态:运行,就绪,阻塞 从进程执行的态度: 阻塞:程序运行时,遇到了IO,程序挂起,cpu被切走 非阻塞:程序没有遇到IO,或者程序遇到IO,通过某种手段,让cpu强行运行该程序 从提交任务的角度: 同步:提交一个任务,自任务开始运行直到
阅读全文
摘要:多线程(二) 1.死锁现象与递归锁 2.信号量 3.GIL全局解释器锁 理论上:单个进程的多线程可以利用多核,但是Cpython解释器给进入解释器的线程加了锁 加锁的原因: 1.当时处于单核时代,且cpu价格昂贵 2.如果不加全局解释器锁,则程序员需要在源码内部各种主动加锁,解锁,出现死锁现象,则直
阅读全文
摘要:多线程(一) 1.多进程补充(生产者消费者模型) 2.线程 2.开启线程的两种方式 3.多进程与多线程对比 4.线程的相关其他方法 5.join方法与守护线程 6.互斥锁
阅读全文
摘要:多进程(二) 1.僵尸进程与孤儿进程 2.互斥锁 3.进程之间的通信
阅读全文
摘要:多进程(一) 1.进程创建的两种方式 2.获取进程pid 3.验证进程之间的空间隔离 4.join方法 5.进程的其他属性 6.守护进程
阅读全文
摘要:操作系统 1.初识操作系统 1.为什么要有操作系统? 现代的计算机系统主要是由一个或者多个处理器,内存,硬盘,键盘,鼠标,显示器,网络接口等其他输入输出设备组成.程序员无法把所有的硬件操作细节都了解到,通过操作系统管理这些硬件并且加以优化使用,程序员只要考虑自己的应用软件的编写就可以了,应用软件直接
阅读全文
浙公网安备 33010602011771号