1>单线程或者单进程
相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client
不存在并发。
2>循环服务器和并发服务器
1.循环服务器:一个server只能一次只能接收一个client,当当前client结束访问之后才能进行下一个client的连接。
2.并发服务器:一个server同一时间可以响应很多客户端的访问。
3>select+多线程模式
并发服务器的三种实现方式
1.多进程并发服务器
是指TCP连接后,每一个客户机的请求并不由服务器直接处理,而是由服务器创建一个子进程来处理
2.多线程并发服务器
多进程服务器是对多进程的服务器的改进,由于多进程服务器在创建进程时要消耗较大的系统资源,所以用线程来取代进程,这样服务处理程序可以较快的创建。据统计,创建线程于创建进程要快10100倍,所以又把线程称为“轻量级”进程。进程与进程不同的是:一个进程内所有线程共享相同的全局内存,全局变量等信息。
是指TCP连接后,每一个客户机的请求并不由服务器直接处理,而是由服务器创
3.多路复用I/O
I/O是为了解决线程/进程阻塞在那个I/O调用中,常用select或者pool
4>epoll
在linux2.6之后有的epoll,实用的方法是:用一个线程专门进行端口的监听,accept接收到连接的时候,把连接设置成非阻塞方式,把epoll时间设置成边缘触发方式,加入epoll管理。接收线程阻塞在epoll的等待事件函数。另外一个线程专门用于数据发送。
注意:
1.如果把epoll设置成水平触发效率就下降采用select的水平。
2.Unix系统下有单个进程打开的描述符的限制,还有系统内打开的描述符的数目限制。系统内打开的描述符数目限制由软硬链接限制两个。硬连接是根据机器的配置而不同。软连接限制可以修改但是必须小于硬限制。
应用:
Linux下大规模的TCP并发。
当前并发还有其它的方式。比如线程池。进程池等,每种模式都有他的优缺点,如果大规模的并发,采用epoll会更好。
epoll的时间设置有边缘触发方式和水平触发方式
1.水平触发方式:
如果文件描述符已经就绪可以非阻塞的执行IO操作了,此时会触发通知。允许在任意时候重复检测IO的状态,没有必要每次描述符就绪后尽可能多的执行IO,select,poll就属于水平触发事件。
只要满足要求就触发一个事件。
2.边缘触发方式:
如果文件描述符自上次状态改变后有新的IO活动到来,此时会触发通知。在收到一个IO事件通知尽可能多的执行IO操作,因为如果再一次通知中没有执行完IO那么就需要等到下一次新的IO活动到来才能获取就绪的描述符。信号驱动式IO就属于边缘触发。
每当状态改变就触发一个事件。
eg:现在有一个1000个字节的报文,无论是水平触发还是边缘触发,都会发送一个只读通知,当收到了100个字节后,水平触发因为还有字节没有读完,就会发送一个只读通知,但是边缘触发会一直保持等待的通知,等待接下来的报文的到来,直到边缘触发返回EWOULDBLOCK就摒弃这个socket。
以上这篇Linux下几种并发服务器的实现模式(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】
- 景冈山.1996-我的眼里只有你【大地唱片】【WAV+CUE】
- 群星《八戒 电影原声带》[320K/MP3][188.97MB]
- 群星《我的阿勒泰 影视原声带》[320K/MP3][139.47MB]
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[320K/MP3][148.91MB]
- 刘雅丽.2001-丽花皇后·EMI精选王【EMI百代】【FLAC分轨】
- 齐秦.1994-黄金十年1981-1990CHINA.TOUR.LIVE精丫上华】【WAV+CUE】
- 群星.2008-本色·百代音乐人创作专辑【EMI百代】【WAV+CUE】
- 群星.2001-同步过冬AVCD【环球】【WAV+CUE】
- 群星.2020-同步过冬2020冀待晴空【环球】【WAV+CUE】
- 沈雁.1986-四季(2012梦田复刻版)【白云唱片】【WAV+CUE】
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[FLAC/分轨][257.88MB]
- 《国语老歌 怀旧篇 3CD》[WAV/分轨][1.6GB]