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

嵌入式学习day34

单循环服务器:同一时刻,只能处理一个客户端的任务

并发服务器:同一时刻,能够处理多个客户端的任务

UDP不需要创建连接

TCP并发服务器

1.多进程

2.多线程

3.IO多路复用

1、多进程

2、多线程

3、IO多路复用

IO模型:
1.阻塞IO

fgets scanf read recv getchar

实现多个IO同步的效果

相比于非阻塞,CPU占有率低

2.非阻塞IO

使用轮询的方式实现,可以监测多路IO

CPU占有率高

实现:

1.获取原文件描述符的属性

fcntl()

F_GETFL

2.增加非阻塞属性

3.设置新属性

3.信号驱动IO

实现:

1.增加异步属性

2.关联信号和当前的进程

3.注册信号

1.异步通知的IO方式,节省CPU

2.只能检测少量IO

4.IO多路复用

1.多个IO复用一个进程

select

poll

epoll


http://www.mrgr.cn/news/13280.html

相关文章:

  • 【奇某信-注册/登录安全分析报告】
  • 数据实体类主键使用UUID生成策略
  • 每日刷力扣SQL题(七)
  • iPhone不停重启怎么办?全面解析与解决方案
  • 【html+css 绚丽Loading】000022 三元循环轮
  • 软件开发最佳实践:接口设计、自测与效率提升
  • Spring 源码解读:逐步实现 IoC 容器,深入理解 Spring 核心原理
  • 你知道有哪些Spring MVC扩展点可以解析接口参数和处理返回值吗?
  • 笔试算法—编程练习-01-H-24
  • C++实现的活动安排问题
  • 实际项目中Gson的用法,解析对象嵌套list对象的问题
  • 图表检测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • 计算机毕业设计选题推荐-房产信息管理系统-Java/Python项目实战
  • 逆波兰表达式
  • WinTune 系统基准测试:让你的电脑性能飞速提升
  • 【51单片机】2-3-1 【I/O口】【电动车防盗报警项目】震动传感器实验1—震动点灯
  • 学懂C++(四十一):网络编程——深入详解 C++ 网络编程之 WebSocket 应用技术
  • Openstack 与 Ceph集群搭建(下): Openstack部署
  • 鸿蒙开发:深入浅出Stage模型(UIAbility组件)
  • 操作系统原子操作