当前位置: 首页 > wzjs >正文

南通网站建设企业网站建站模板

南通网站建设,企业网站建站模板,王也说过的经典语录,泉州企业建站程序1. 服务器 单循环服务器:服务器在同一时刻只能响应一个客户端的请求并发服务器模型:服务器在同一时刻可以响应多个客户端的请求 2. TCP:有连接 多进程:资源消耗大,同资源平台下,并发量小多线程:创建线程…

1. 服务器

  • 单循环服务器:服务器在同一时刻只能响应一个客户端的请求
  • 并发服务器模型:服务器在同一时刻可以响应多个客户端的请求

2. TCP:有连接

  • 多进程:资源消耗大,同资源平台下,并发量小
  • 多线程:创建线程、进程,比较耗时
  • 线程池:提前预创建大量线程,避免任务执行过程中创建线程的耗时
  •  IO多路复用:在不创建新的进程和线程的前提下,可以在一个进程中同时监测多个IO(fd/sockfd/connfd)

为了解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调用。
优势:系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程。

3.阻塞IO

  • scnaf
  • getchar
  • fgets
  • gets
  • read
  • recv
  • recvfrom

1)可以实现多任务同步(多个事件相互影响)
2)可以节省CPU资源开销,提高执行效率
3)不足:不利于处理比较耗时,延时比较长的任务

4. IO多路复用框架设计

  • 创建文件描述符集合
  • 将关注的文件描述符加入到集合
  • 等待IO事件到达
  • 根据不同的IO事件处理不同的任务

4.1 seclect函数

int select(int nfds, fd_set *readfds, fd_set *writefds,
                  fd_set *exceptfds, struct timeval *timeout);
功能:阻塞等待IO事件,返回事件结果
参数:
        nfds:关注的最大文件描述符+1
        readfds:文件描述符事件集合表
        writefds:写事件集合表
        exceptfds:其他事件集合表
        timeout:超时时间
        NULL:不设置超时
返回值:
        成功:返回到达的事件个数
        失败:-1
        0:超时事件到达但没有IO事件

4.2 文件描述符函数

       void FD_CLR(int fd, fd_set *set);       

//此函数用于将文件描述符 fd 从集合 set 中移除。如果 fd 原本就不在集合中,该函数不会产生任何影响
       int  FD_ISSET(int fd, fd_set *set);

//该函数用于检查文件描述符 fd 是否为集合 set 的成员。如果 fd 在集合中,函数返回非零值;否则返回 0。
       void FD_SET(int fd, fd_set *set);

//这个函数将文件描述符 fd 添加到集合 set 中。如果 fd 已经在集合中,函数不会产生任何影响。

       void FD_ZERO(fd_set *set);

//此函数将集合 set 初始化为不包含任何文件描述符,即清空集合。

5. 关于IO多路复用

  1. select使用位图管理文件描述符,最多允许同时监测1024个文件描述符(有上限);
  2. 文件描述符集合在应用层创建,需要实现应用层和内核层的反复拷贝
  3. 需要应用层对集合表进行遍历,寻找到达的事件
  4. 只能工作在水平触发模式(低速模式),不能工作在边沿触发模式(高速模式)

LT(Level Triggered,水平触发)和ET(Edge Triggered,边沿触发)是I/O多路复用机制中两种不同的事件触发模式

水平触发是一种较为传统且容易理解的触发模式。在水平触发模式下,只要文件描述符对应的内核缓冲区中有数据可读(或者可写空间足够),就会持续触发事件。也就是说,只要满足事件的条件,就会不断地通知应用程序。

边沿触发是一种更为高效但也更复杂的触发模式。在边沿触发模式下,只有当文件描述符对应的内核缓冲区状态发生变化时才会触发事件。也就是说,当有新的数据到达(从无到有)或者可写空间从无到有时,epoll才会通知应用程序。一旦事件被触发,应用程序必须尽可能多地处理数据,因为后续即使缓冲区中还有数据,也不会再次触发事件,直到下一次状态发生变化。

http://www.dtcms.com/wzjs/494231.html

相关文章:

  • 东莞网站建设推广优秀的网页设计案例
  • 纺织服装网站建设规划方案长沙网站制作策划
  • 如何帮助网站吸引流量如何引流被动加好友微信
  • 政府网站构建与维护百度有刷排名软件
  • 可以做网站的行业南昌网站seo外包服务
  • 正规网站建设公司一般要多少钱百度在线客服系统
  • 柯城区住房和城乡建设局网站淘宝关键词排名查询工具免费
  • 建设部项目经理认证网站二级域名网站查询入口
  • 商务网站建设的优势关键词优化怎么优化
  • 有做国外网站推广吗微信公众号软文怎么写
  • 做外贸有哪些网站比较好长沙网站优化效果
  • 邯郸市教育局官网上海seo公司
  • 网站一直百度上搜不到是怎么回事啊seo关键词优化排名软件
  • 用手机可以做网站seo排名怎么优化软件
  • 怎么做网站代购免费发布推广的平台有哪些
  • 做那种类型的网站seo好武汉seo排名
  • 如何查看一个网站流量网络推广服务外包公司
  • 驾校官方网站 模板seo公司厦门
  • 做相册视频的网站备案查询站长之家
  • 安丘做网站的公司各类资源关键词
  • wordpress选取文章图片作为缩略图优化营商环境心得体会
  • 丝芙兰网站做的好差bt种子搜索神器
  • 网站建设政府苏州网站建设费用
  • 做黄色 网站网络营销推广的手段
  • 企业定制网站建设公司哪家好成人专业技能培训机构
  • 网站的换肤功能怎么做网站关键词优化外包
  • 政府网站建设运行合作协议seo博客模板
  • cn结尾的网站 做外贸免费广州seo
  • 怎么做免费的网站推广如何建立自己的网络销售
  • 张浦专业做网站重庆seo公司怎么样