随笔分类 - 网络编程
摘要:何为http协议(Hypertext Transfer Protocol,超文本传输协议)? 所谓协议,就是指双方遵循的规范。http协议,就是浏览器和服务器之间进行“沟通”的一种规范。我们在看空间,刷微博...都是在使用http协议,当然,远远不止这些应用。 一直听说http是属于“应用层的协议”
阅读全文
摘要:我们知道nginx的效率非常高,能处理上万级的并发,其之所以高效离不开epoll的支持, epoll是什么呢?,epoll是IO模型中的一种,属于多路复用IO模型; 到这里你应该想到了,select,的确select也是一种多路复用的IO模型,但是其单个select最多只能同时处理1024个sock
阅读全文
摘要:IO模型 模型即解决某个问题的固定套路 I/O 指的是输入输出 IO的问题: 当我们要输入数据或是输出数据通常需要很长一段时间,当然是对于CPU而言 在等待输入的过程中,CPU就处于闲置状态,造成了资源浪费 注意: IO其实有很多类型,例如,socket网络IO,内存到内存的copy,等待键盘输入,
阅读全文
摘要:单线程实现并发 是否可行 并发:指的是多个任务同时发生,看起来好像都是同时在进行 并行:指的是多个任务真正的同时进行 早期的计算机只有一个CPU,既然CPU可以切换线程来实现并发,那么在线程中切换任务来实现并发理论上也是可行的 如何实现 并发=切换任务+保存状态,只要找到一种方案,能够在两个任务之间
阅读全文
摘要:[TOC] 一.什么是GIL 需要知道的是,解释器并不只有CPython,还有PyPy,JPython等等。GIL也仅存在与CPython中,这并不是Python这门语言的问题,而是CPython解释器的问题! 二.GIL带来的问题 首先必须明确执行一个py文件,分为三个步骤 1. 从硬盘加载Pyt
阅读全文
摘要:[TOC] 生产者消费者模型 生产者消费者模型 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。 为什么要使用生产者和消费者模式 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,
阅读全文
摘要:守护进程 主进程创建守护进程 1.守护进程会在主进程代码执行结束后就终止 2.守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children 注意:进程之间是互相独立的,主进程代码运行结
阅读全文
摘要:[TOC] 多进程实现原理 多道技术 操作系统介绍 下图是操作系统在整个计算机中所在的位置: " " 位于应用软件和硬件设备之间,本质上也是一个软件, 由系统内核(管理所有硬件资源)与系统接口(提供给程序员使用的接口)组成 操作系统是为方便用户操作计算机而提供的一个运行在硬件之上的软件 操作系统的两
阅读全文
摘要:基于TCP协议的socket套接字编程 服务端 客户端 模拟ssh远程执行命令 在客户端处模拟ssh发送命令,服务端通过subprocess执行该命令,然后返回命令的结果 服务端 客户端 粘包问题 TCP发送数据的四种情况 假如客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到的字节
阅读全文
摘要:TCP协议的三次握手和四次挥手 背景描述 通过OSI七层网络模型中IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机
阅读全文
摘要:OSI协议 互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。 每一层都运行不同的协议。协议是干什么的,协议就是标准。 实际上还
阅读全文
摘要:网络架构 单机架构 应用领域: 植物大战僵尸 office CS架构 应用领域: QQ 大型网络游戏 客户端:用户安装的软件 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑 cs架构要求: 用户操作系统安装客户端;厂商操作系统部署服务端 每个用户需要独
阅读全文

浙公网安备 33010602011771号