摘要: 一、必备理论基础 操作系统 并发编程是指在一台处理器上“同时”处理多个任务,为的是充分利用CPU的每一核,以达到最高的处理性能。 要想了解并发编程需要先了解操作系统,因为进程源自操作系统。进程是对正在进行程序的一个抽象,同时也是操作系统最核心的概念。 操作系统是一个协调、管理和控制计算机硬件资源和软 阅读全文
posted @ 2019-01-10 16:49 梁少华 阅读(207) 评论(0) 推荐(0) 编辑
摘要: IO模型分为5种,分别是同步IO、异步IO、阻塞IO、非阻塞IO和信号驱动IO。信号驱动IO(signal driven IO)在实际中不常用,所以这里不做讨论。 一、阻塞IO(blocking IO) 在linux中,默认所有的socket都是blocking。我们一般使用的socket编程就是阻 阅读全文
posted @ 2019-01-10 16:48 梁少华 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 一、协程介绍 协程就是基于单线程实现并发。CPU在运行一个任务的时候,有三种情况下会切换去执行其他任务,第一种是发生了阻塞, 另外一种是该任务计算时间过长,最终一种是有另外一个优先级更高的任务代替了它。 协程的优点: 缺点: 一个进程会有三种状态,阻塞、运行和就绪。就绪并不能提升效率,它是用来保存状 阅读全文
posted @ 2019-01-10 16:40 梁少华 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一、线程理论 1、进程是用来把资源集中到一起,而线程才是cpu上的执行单位。例如,一个个的火箭发射中心是进程,而火箭是线程。 2、多线程共享一个内存地址空间 3、线程开销比进程小、速度快、更容易创建撤销。线程的创建比进程要快10-100倍 4、计算密集型并不能获得性能上的增强,反倒由于不断切换速度不 阅读全文
posted @ 2019-01-10 16:12 梁少华 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 一、multiprocessing和Process multiprocessing提供了支持子进程、通信和数据共享、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件 创建进程的类: 参数介绍: 方法介绍: 属性介绍: 二、Process类的使用 注意:在windows中 阅读全文
posted @ 2019-01-10 15:33 梁少华 阅读(3327) 评论(0) 推荐(0) 编辑
摘要: 一、什么是进程 进程:正在内存中运行的一道程序。 二、进程与程序的区别 程序指的是一堆代码,而进程指的是程序运行的过程。 通一个程序执行两次,就是两道进程。 三、并发与并行 并发:伪并行,看起来是同时运行,其实是CPU不断切换的结果。用单个CPU加多道技术就能实现。 并行:同时运行,CPU的一个核运 阅读全文
posted @ 2019-01-10 15:07 梁少华 阅读(201) 评论(0) 推荐(0) 编辑