epoll讲解
摘要:首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数
阅读全文
posted @
2019-10-17 16:36
Jolinhe
阅读(154)
推荐(0)
协程
摘要:引子 上一节中我们知道GIL锁将导致CPython无法利用多核CPU的优势,只能使用单核并发的执行。很明显效率不高,那有什么办法能够提高效率呢? 效率要高只有一个方法就是让这个当前线程尽可能多的占用CPU时间,如何做到? 任务类型可以分为两种 IO密集型 和 计算密集型 对于计算密集型任务而言 ,无
阅读全文
posted @
2019-06-07 15:33
Jolinhe
阅读(188)
推荐(0)
GIL , 线程池 , 同步 , 异步 , 队列 , 事件
摘要:一.什么是GIL 需要知道的是,解释器并不只有CPython,还有PyPy,JPython等等。GIL也仅存在与CPython中,这并不是Python这门语言的问题,而是CPython解释器的问题! 二.GIL带来的问题 首先必须明确执行一个py文件,分为三个步骤 从硬盘加载Python解释器到内存
阅读全文
posted @
2019-06-07 15:01
Jolinhe
阅读(279)
推荐(0)
多线程
摘要:什么是线程: 线程指的是一条流水线的工作过程的总称 线程是CPU的基本执行单位 对比进程而言,进程仅仅是一个资源单位其包含了程序运行所需的资源,就像一个车间 而单有资源是无法生产出产品的,必须有具体的生产产品的逻辑代码 线程就相当于车间中的一条流水线,而你的代码就是流水线上的一道道工序 特点: 1.
阅读全文
posted @
2019-06-07 11:58
Jolinhe
阅读(190)
推荐(0)
进程篇
摘要:什么是进程 多进程的实现原理 多道技术 进程与程序 进程PID与PPID 并发与并行,阻塞与非阻塞 python实现多进程 孤儿进程与僵尸进程 什么是并发编程 并发指的是多个任务同时被执行,并发编程指的是编写支持多任务并发的应用程序在。 之前的TCP通讯中,服务器在建立连接后需要一个循环来与客户端循
阅读全文
posted @
2019-06-01 14:08
Jolinhe
阅读(155)
推荐(0)
UDP协议, DNS
摘要:1.UDP协议 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection 参考模型中一种无连接的传输层协议,提供简单不可靠信息传送服务 是一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组
阅读全文
posted @
2019-06-01 14:00
Jolinhe
阅读(501)
推荐(0)
socket 补充
摘要:一.什么是socket 二.为什么需要socket 三.socket的发展 四.python中的socket 五.基于TCP的socket 六.基于UDP的socket 六. 粘包问题详解 七.粘包的解决方案 八.socketserver实现并发通讯 引入:为什么一定要先学习网络协议? 之所以学习网
阅读全文
posted @
2019-06-01 13:37
Jolinhe
阅读(234)
推荐(0)
socket
摘要:# socket 是一套接口,封装了网络编程协议 socket是位于应用层与传输层之间的一个抽象层专门把传输层以下的协议封装成接口提供给应用层使用应用只需要调用socket的接口或者说按照socket的标准编写程序,写出的程序自然是遵循tcp/ip协议 1, #===================================server.pyimport socket #作为服务...
阅读全文
posted @
2019-05-28 22:14
Jolinhe
阅读(295)
推荐(0)
网络编程
摘要:网络编程: 七层物理模型 ( OSI ) TCP 传输控制协议 UDP 协议用户数据报协议 思维路线 目的是要链接互联网中的其他计算机 物理层 用物理介质链接其他计算机 数据链路层 用MAC地址来通讯,但仅限于同一局域网 网络层 用ip确定全球范围的某个局域网中的某一台计算机 传输层 用端口来确定
阅读全文
posted @
2019-05-27 21:55
Jolinhe
阅读(388)
推荐(0)