嵌入式学习day35

TCP并发模型:
1.TCP多线程模型:
    缺点:
        1.创建线程会带来资源开销,能够实现的并发量比较有限 

2.IO模型:
    1.阻塞IO:
        没有数据到来时,可以让任务挂起,节省CPU资源开销,提高系统效率
    
    2.非阻塞IO:
        程序未接收到数据时一直执行,效率很低

    3.异步IO
        只能绑定一个文件描述符用来读取数据

    4.多路复用IO
        select
        poll
        epoll 

3.函数接口:
    1.select 
      int select(int nfds, fd_set *readfds, fd_set *writefds,
                  fd_set *exceptfds, struct timeval *timeout);
      功能:
        select监听文件描述符集合中是否有文件描述编程ready状态
      功能:
        nfds:最大文件描述符的值+1 
        readfds:读文件描述符集合
        writefds:写文件描述符集合
        exceptfds:其余文件描述符集合
        timeout:等待的时长
            NULL 一直等待
      返回值:
        成功返回文件描述符集合中的文件描述符个数
        失败返回-1 

    void FD_CLR(int fd, fd_set *set);
    功能:
        将文件描述符fd从集合中清除 

    int  FD_ISSET(int fd, fd_set *set);
    功能:
        判断文件描述符fd是否仍在集合中 

    void FD_SET(int fd, fd_set *set);
    功能:
        将文件描述符fd加入到集合中

    void FD_ZERO(fd_set *set);
    功能:
        将文件描述符集合清0 


 

相关推荐

  1. 嵌入学习day35

    2024-03-13 05:06:05       20 阅读
  2. 嵌入学习day33

    2024-03-13 05:06:05       20 阅读
  3. 嵌入学习 Day 31

    2024-03-13 05:06:05       20 阅读
  4. 嵌入学习day36 数据结构

    2024-03-13 05:06:05       21 阅读
  5. 嵌入学习day38 HTML

    2024-03-13 05:06:05       18 阅读
  6. 嵌入学习day39 数据结构

    2024-03-13 05:06:05       12 阅读
  7. 嵌入学习——网络编程(UDP)——day30

    2024-03-13 05:06:05       9 阅读
  8. 嵌入学习——网络编程(TCP)——day31

    2024-03-13 05:06:05       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-13 05:06:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-13 05:06:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-13 05:06:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-13 05:06:05       18 阅读

热门阅读

  1. openGauss gsql 常用元命令 一

    2024-03-13 05:06:05       18 阅读
  2. 3.11笔记2

    2024-03-13 05:06:05       15 阅读
  3. DevOps实战:Docker、Kubernetes与Jenkins的完美融合

    2024-03-13 05:06:05       21 阅读
  4. 爬虫(六)

    2024-03-13 05:06:05       17 阅读
  5. 【c++】运算符重载【赋值、关系、调用】

    2024-03-13 05:06:05       18 阅读
  6. React富文本编辑器开发(十)变换

    2024-03-13 05:06:05       15 阅读
  7. 力扣2834. 找出美丽数组的最小和

    2024-03-13 05:06:05       19 阅读
  8. springBoot mybatis-plus整合

    2024-03-13 05:06:05       18 阅读
  9. docker的快速入门教程

    2024-03-13 05:06:05       22 阅读
  10. Unity3D 多线程定时器的原理与实现详解

    2024-03-13 05:06:05       21 阅读