随笔分类 - 网络编程
IO模型、阻塞IO模型、非阻塞IO模型、多路复用、异步IO
摘要:【IO模型】 Stevens一共有5种IO Model: 1.blocking IO 阻塞 常见的网络阻塞状态:accept、recv、recvfrom 2.nonblocking IO 非阻塞 3.IO multiplexing IO多路复用 4.signal driven IO 信号驱动IO 5
阅读全文
死锁与递归锁、信号量、Event事件、线程Q(队列)、池、补充并发的本质、协程、gevent模块、协程实现并发
摘要:【死锁与递归锁】 死锁 1 # 当知道所得使用抢锁必须要释放锁,其实在操作锁的时候也极其容易产生死锁现象(程序阻塞) 2 # 互斥锁的死锁现象 3 from threading import Thread, Lock 4 import time 5 6 mutexA = Lock() 7 mutex
阅读全文
线程、开启线程的两种方式、线程下的Join方法、守护线程、线程互斥锁、GIL锁
摘要:【线程理论】 1 1.什么是线程? 2 进程:资源单位,仅仅是在内存空间中开辟一块独立的空间 3 线程:程序执行单位(真正被CPU执行的其实是进程里面的线程,线程指的就是代码的执行过程,执行代码中所需要使用到的资源都找所在的进程索要) 4 (每一个进程自带一个线程) 5 6 2.为什么要有线程 7
阅读全文
进程对象、僵尸进程与孤儿进程、守护进程、互斥锁、队列、IPC机制、生产者消费者模型
摘要:pycharm激活码网站:http://idea.medeming.com/jets/ 一台计算机上面运行着很多进程,那么计算机是如何区分并管理这些进程的呢? # 计算机会给每一个运行的进程分配一个PID号(PID号(进程号):也是唯一的) # 如何查看? 1. window电脑,加入cmd,输入t
阅读全文
操作系统的发展史、多道技术、进程理论、进程的三状态、同步异步/阻塞与非阻塞、开启进程、jion方法、进程间数据隔离
摘要:【操作系统发展史】 1 为什么要使用操作系统呢? 2 程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作, 3 这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来, 4 只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供
阅读全文
粘包问题、socketserver模块实现并发
摘要:TCP协议 黏包现象 1 1.服务端连续执行三次recv 2 2.客户端连续执行三次send 3 问题:服务端一次性接收到了客户端三次的消息 该现象称为"黏包现象" 4 5 黏包现象产生的原因: 6 1.收消息的时候,不知道每次接收的数据到底有多大!!!!!! 7 recv()括号里面规定了每次收消
阅读全文
传输层协议、应用层、socket套接字、半链接池、粘包问题
摘要:【传输层协议TCP/UDP】 1 PORT协议(端口协议) 2 端口号用来(ip+port):标识一台计算机上面的某一个应用程序 3 端口号的范围:0-65535 4 这是因为传输层的协议:TCP、UDP等,它们的报头端口号长度是16bit所决定的!! 2的16次方 5 端口号特征:动态分配(类似于
阅读全文
python网络编程的介绍
摘要:【CS与BS介绍】 (软件开发架构) 1 规定了程序的请求逻辑、功能分块 2 3 1.C/S架构 主要应用于局域网内。 4 Client:客户端,这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 5 Server:服务器端,服务器
阅读全文
浙公网安备 33010602011771号