进程和线程
文章平均质量分 78
逆流远航
这个作者很懒,什么都没留下…
展开
-
线程queue的三种用法
队列先进先出import queueq = queue.Queue(3)q.put(1)q.put(2)q.put(3)# q.put(4, block=True) # 满了继续放会阻塞住# print(q.get())# print(q.get())# print(q.get())# print(q.get()) # 取完了继续取会阻塞住堆栈先进后出i...原创 2019-05-01 21:40:16 · 332 阅读 · 0 评论 -
进程和线程的理解
一、进程任务管理器里面,我们能够看到进程;程序本质是一段代码,运行起来才是一个进程;进程本质上是一段程序的运行过程;专业的说进程是一个程序在数据集上的一次动态执行过程;数据集就是程序执行需要调动的资源;进程一般由程序,数据集,进程控制块三部分组成;例如一个厨师要做一个蛋糕,食谱就是程序,食材就是数据集,之所以有进程,是我们想让多个程序同时跑起来;一个单核CPU只会在不同程序间切换,绝...原创 2018-09-24 23:33:46 · 252 阅读 · 0 评论 -
进程和线程池
进程池的返回值一、p.map(funcname, iterable) 默认异步的执行任务,且自带close和join(1)返回值是所有进程的结果放到一个列表里二、p.apply() 同步调用的,很少用(1)只有func执行完之后,才会继续向下执行其他代码(2)返回值就是func的返回值三、p.apply_async() 异步调用,和主进程完全异步,需要手动cl...原创 2018-12-29 00:08:22 · 111 阅读 · 0 评论 -
协程
实现并发的手段进程:启动多个进程,进程之间由操作系统负责调用线程:启动多个线程,真正被CPU执行的最小单位(a)开启一个线程,创建一个线程,寄存器,堆栈(b)关闭一个线程协程:(1)本质上是一个线程(2)能够在多个任务之间切换来节省一些IO时间(3)协程中任务之间的切换也消耗时间,但是开销要远远小于线程和进程之间的切换greenlet模块实现协程之间的切换from greenl...原创 2018-12-23 20:51:47 · 123 阅读 · 0 评论 -
IO模型
IO模型阻塞IO非阻塞IOIO多路复用异步IO同步:提交一个任务之后,等待这个任务执行完毕异步:只管提交任务,不等待这个任务执行完毕就可以做其他事情阻塞:recv recvfrom accept非阻塞:IO发生时涉及的对象和步骤:对于一个network IO(以read举例),他会涉及到两个IO对象,一个是调用这个IO的process(or thread),另一个就是系统...原创 2018-12-25 00:37:03 · 93 阅读 · 0 评论 -
并发编程总结
操作系统的作用1.隐藏丑陋复杂的硬件接口,提供良好的抽象接口;2.管理、调度进程,并且将多个进程对硬件的竞争变得有序。** 并发并行与同步异步的概念**并发:是系统具有处理多个任务的能力;单核CPU快速切换可以实现并发;并行:是系统具有同时处理多个任务的能力;单核CPU无法并行;并行是并发的一个子集;同步:当进程执行中到一个IO(等待外部数据)的时候,---------等...原创 2019-05-01 02:24:31 · 165 阅读 · 0 评论