udp协议,并发进程

基于udp协议的套接字通信,接收端每次接收报头,不会出现粘包,并且用户端直接发送回车时不会出现报错,因为发回车会自动带报头发送,回复到的是b" "

在看起来同时运行的就是并发,udp就是并发,但是当用户过多时会出现需要等待缓慢的情况,同一时间客户发送的消息时到服务器操作系统缓存中,因为没有连接的通道,所以也就没有半连接池的概念,一次最大是512字节,不适合大文件的传输.udp协议可以在用户每发送一次都完完整整的接收,如果不是很重要的信息传送可以用UDP,

如果短时间一起传输多个内容,也只会每次只接收对应的次数,如果传输的内容大于接收的字节时在windows是报错,但是在其他的系统时有几个就接收几个,其他的漏包

基于socketserver实现并发

Threading TCPServer((“127.0.0.1”,8080),类,绑定激活) #现成

server_forever()  #循环建立连接,每建立一个连接就会启动一个线程,专门与刚建好的连接做通信循环.

类里面要继承Base功能,函数必须要handle, client_address 客户端IP, request 之前conn建立好链接

什么是进程

进程指的就是一个正在运行的程序,或者说是程序的运行过程,即进程是一个抽象的概念

进程是起源于操作系统的,是操作系统最核心的概念,操作系统所有其他的概念都是围绕进程展开的

多道技术

为何要进程

达到并发效果

如何用进程

开启进程的两种方式

1、 串行:

一个任务完完整整地运行完毕后,才能运行下一个任务

2、 并发

看起来多个任务时同时运行的即可,单核也可以实现并发

3、 并行

真正意义上多个任务的同时运行,只有多核才实现并行

4、 cpu的功能

cpu是用来做计算,cpu是无法执行IO操作的(IO操作指输入、输出设备),一旦遇到io操作,应该让cpu去执行别的任务

5、 多道技术

1、 空间上的复用=>多个进程共同一个内存条

2、 时间上的复用=>多个进程复用同一个cpu的时间

a) Cpu遇到的IO切换:可以提升效率

b) 一个进程占用cpu时间过程也会切走:为了实现并发效果不得已而为之,反而会降低程序的执行效率

一个应用程序效率高的方式就是减少与硬盘打交道,较少IO(即输入输出设备)

猜你喜欢

转载自www.cnblogs.com/yf18767106368/p/9292017.html