并发编程
文章平均质量分 93
Charles.zhang
朝闻道,夕死可矣。路漫漫其修远兮,吾将上下而求索。
展开
-
Python并发编程(九):多线程
目录 一、多线程的概念介绍二、开启多线程1、开启多线程的两种方式开启进程的第一种方式开启线程的第二种方式(用类)2、在一个进程下开启多个线程与在一个进程下开启多个子进程的区别1、线程的开启速度大于进程的开启速度2、在同一个进程下开多个进程和开多个线程的pid的不同3、同一进程内的线程共享该进程的数据三、练习练习一:多线程实现并发练习二:三个任务,...转载 2018-08-14 11:14:56 · 248 阅读 · 0 评论 -
Python并发编程(八):线程相关理论
目录 一、什么是线程二、线程的创建开销小 三、线程与进程的区别四、为何要用多线程一、什么是线程线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,...转载 2018-08-14 10:34:01 · 117 阅读 · 0 评论 -
Python并发编程(十四):操作系统简介
目录 一、 为什么要有操作系统二 、什么是操作系统精简的说,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。细说的话,操作系统应该分成两部分功能:一:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。二:将应用程序对硬件资源的竞态请求变得有序化详解作用一:为应用程序提供如何使用硬件资源的抽象...转载 2018-08-15 10:55:41 · 394 阅读 · 0 评论 -
Python并发编程(七):数据共享及进程池和回调函数
目录 一、数据共享1.进程间的通信应该尽量避免共享数据的方式2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的。3.(IPC)进程之间的通信有两种实现方式:管道和队列二、进程池2.1、什么是进程池呢?进程池就是控制进程数目2.2、进程池的结构:1.创建进程池2.参数介绍3.方法介绍2.3、进程池应用:apply同步进程池...转载 2018-08-14 10:25:16 · 1547 阅读 · 0 评论 -
Python并发编程(六):互斥锁与进程间的通信
目录一、互斥锁二、模拟抢票(也是利用了互斥锁的原理 :LOCK互斥锁)三、Process对象的其他属性p.daemon :p.join:p.terminate:p.is_alive:p.join():p.name:p.pid :僵尸进程:四、进程间的三种通信(IPC)方式:方式一:队列(推荐使用)1.队列:2.队列分类3.创建队列的...转载 2018-07-21 19:50:51 · 242 阅读 · 0 评论 -
Python并发编程(五):Cpython支持的进程与线程
目录一、multiprocessing模块介绍二、Process类的介绍1.创建进程的类2.参数介绍3.方法介绍1、 p.start():2 、p.run():3、 p.terminate():4、p.is_alive():5、 p.join([timeout]):4.属性介绍p.daemon:p.name:p.pid:p.exitcod...转载 2018-07-21 19:52:59 · 286 阅读 · 0 评论 -
Python并发编程(四):进程理论基础
目录 背景知识一 、操作系统的作用:1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口2:管理、调度进程,并且将多个进程对硬件的竞争变得有序二 多道技术:1.产生背景:针对单核,实现并发2.时间上的复用(复用一个cpu的时间片)+空间上的复用(如内存中同时有多道程序)一、什么是进程二、进程与程序的区别三、并发和并行3.1、并发:单CPU,多进程并发并...转载 2018-07-21 19:54:53 · 257 阅读 · 0 评论 -
Python并发编程(三):网络编程之粘包现象
目录 一、什么是粘包二、发生粘包的两种情况2.1、发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会当做一个包发出去,产生粘包)2.2、接收方不及时接收缓冲区的包,造成多个包接收(客户端发送了一段数据,服务端只收了一小部分,服务端下次再收的时候还是从缓冲区拿上次遗留的数据,产生粘包) 三、解决粘包的方法四、解决粘包问题升级版:完整的解决了...转载 2018-08-14 08:20:00 · 575 阅读 · 0 评论 -
python 并发编程(二):网络(socket)编程
目录 一、网络协议1.1、客户端/服务器架构1.2、OSI七层1.3、为何学习socket一定要先学习互联网协议?二、socket是什么?三、基于TCP协议的socket3.1、套接字的分类:3.2、套接字的工作流程:3.3、套接字函数服务端套接字函数客户端套接字函数服务端和客户端的公共用途的嵌套字函数面向锁的套接字方法面向文件的套接...转载 2018-08-14 08:11:58 · 1674 阅读 · 0 评论 -
Python并发编程(十三):socketserver模块
目录 一、socketserver模块介绍查找属性的顺序:源码分析总结:二、socketserver应用三、上传下载文件(这里只是上传)一、socketserver模块介绍基于tcp套接字,关键的就是两个循环,一个是链接循环,一个是通信循环socketserver模块中分两大类:srever类(解决链接问题)和request类(解决通信问题)以下述代码为例,...转载 2018-08-15 10:29:35 · 866 阅读 · 1 评论 -
Python并发编程(十二):IO模型
目录 复习同步(synchronous):异步(asynchronous):阻塞(blocking):非阻塞(non-blocking):小结:一、IO模型介绍IO发生时涉及的对象和步骤。二、阻塞IO (blocking IO)一个简单的解决方案:改进方案: 三、非阻塞IO (nonblocking IO)非阻塞IO模型优点:非...转载 2018-08-15 10:17:56 · 499 阅读 · 0 评论 -
Python并发编程(十一):进程池,线程池,协程
目录 注意一、Python标准模块--concurrent.futures(并发未来)二、线程池基于concurrent.futures模块的进程池基于concurrent.futures模块的线程池应用线程池(下载网页并解析)map函数的应用三、协程介绍yield复习yield功能示例1yield功能示例2yield表达式示例协程的本质...转载 2018-08-14 14:31:08 · 3805 阅读 · 3 评论 -
Python并发编程(十):死锁与递归锁,信号量等
目录 一、死锁现象与递归锁死锁现象递归锁二、信号量Semaphore(其实也是一把锁)三、Event例子一例子二四、定时器(Timer)五、线程queuequeue.Queue(maxsize=0) #先进先出queue.LifoQueue(maxsize=0)#先进后出queue.PriorityQueue(maxsize=0) #存储数据时可...转载 2018-08-14 12:51:13 · 261 阅读 · 0 评论 -
Python并发编程(一):网络基础之网络协议篇
目录网络基础之网络协议篇一.操作系统基础二.网络通信原理2.1 互联网的本质就是一系列的网络协议2.2 OSI七层协议2.3 tcp/ip五层模型讲解2.3.1 物理层2.3.2 数据链路层2.3.3 网络层2.3.4 传输层2.3.5 应用层2.3.6 socket三.网络通信实现四.网络通信流程1.本机获取2.打开浏览器,想...转载 2018-08-14 07:51:55 · 965 阅读 · 0 评论