前端做网站需要学什么软件网页制作个人主页代码

张小明 2025/12/31 18:50:42
前端做网站需要学什么软件,网页制作个人主页代码,自己建一个电商网站吗,前端响应式布局一.什么是I/O多路复用核心思想#xff1a;通过一个线程同时管理多个 Socket#xff08;文件描述符#xff09;#xff0c;在一个线程内同时检测 多个连接的状态#xff08;如是否可读/可写#xff09;#xff0c;从而实现高效的并发处理。在 Linux 中#xff0c;常见的…一.什么是I/O多路复用核心思想通过一个线程同时管理多个 Socket文件描述符在一个线程内同时检测 多个连接的状态如是否可读/可写从而实现高效的并发处理。在 Linux中常见的 I/O 多路复用技术包括select、poll和epoll。二.为什么要使用I/O多路复用1.最基础的TCP Socket编程使用的是阻塞I/O模型:每次进行I/O操作如读 写数据调用的线程会被阻塞直到操作完成为止。在这种模型下一个线程 只能处理一个客户端的请求也就是“一对一通信”。如果需要同时处理多个客户 \端连接就必须为每个连接创建一个独立的线程或进程。当客户端数量很少时 这种方式是可行的。但如果有成千上万个客户端如 C10K问题1万个并发客 户端连接线程/进程的调度和资源占用如内存会成为瓶颈。2.在传统的多线程/多进程模型中每个客户端连接对应一个独立的线程或进程。 当有数据读写时线程阻塞在对应的 Socket上直到数据准备好。当客户端数 量很少时这种方式是可行的但如果有成千上万个客户端如 C10K问题1 万个并发客户端连接线程/进程上下文切换开销会很大且每个线程/进程都有一定的内存开销如栈内存、线程控制块等此时内存和调度开销的将变得不可接受。三.select和poll的工作原理1.select 实现多路复用的方式是将已连接的Socket文件描述符都放到一个文件描述 符集合然后调用select函数将文件描述符集合拷贝到内核里让内核遍历整个文件描述 符集合检测每个Socket的状态如果某些Socket有事件如数据到达或可写内核会设置对应的状态。接着内核将检测结果整个 Socket集合拷贝回用户态用户程序需要再次遍历整个集合找到可读或可写的 Socket对其处理。缺点需要进行2次「遍历」文件描述符集合一次是在内核态里一个次是在用户态里 而且还会发生2次「拷贝」文件描述符集合先从用户空间传入内核空间由内核修改后再传出到用户空间中。2.select和poll的区别:select使用固定长度的BitsMap表示文件描述符集合而且所支持的文件描述符的个数是有限制的poll使用动态数组以链表形式来组织突破了select 的文件描述符个数限制当然还会受到系统文件描述符限制。 但是 poll和select并没有太大的本质区别都是使用「线性结构」存储进程关注的Socket集合因此都需要遍历文件描述符集合来找到可读或可写的Socket时间复杂度为O(n)而且也需要在用户态与内核态之间拷贝文件描述符集合这种方式随着并发数上来性能的损耗会呈指数级增长。3.epoll的工作原理epoll的改进1. 高效的红黑树管理 epoll 在内核中使用红黑树存储待监控的Socket集合。 优势 插入、删除、修改 Socket的时间复杂度为O(log n)。 相比于 select/poll每次都拷贝整个Socket集合 epoll 只需在第一次时添加到红黑树即可无需重复拷贝红黑树会一直维护这些描述符直到显式地移除它们。2. 事件驱动机制epoll 使用事件驱动机制即内核会监听事件的发生链表记录就绪事件 内核会将发生事件的 Socket如有数据到达或可写的Socket通过回调函数加入到一个就绪链表中。应用程序只需要处理这个链表中的 Socket无需遍历整个集合。epoll支持两种事件触发模式水平触发默认模式和select/poll一样。当被监控的Socket上有可读事件发生时内核会一直通知应用程序直到数据被read函数完全读取。边缘触发当被监控的Socket描述符上有可读事件发生时内核只会通知应用程序一 次需要应用程序收到通知后尽可能一次读取完所有数据以免错失读写机会。所以程序会循环从socket中读写数据那么如果文件描述符是阻塞的没有数据可读写时进程会阻塞在读写函数那里程序就没办法继续往下执。所以边缘触发模式一般和非阻塞I/O搭配使用。一般来说边缘触发的效率比水平触发的效率要高因为边缘触发可以减少系统调用次数。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

外贸营销模板鄞州seo整站优化服务

在日常工作中,出差是在所难免的事情,任何岗位都有出差的可能性,即便是网络安全工程师也不例外。那么网络安全工程师是否经常出差?我们一起来探讨一下。从目前情况来讲,网络安全工程师并非都需要出差,出差频率核心取决…

张小明 2025/12/30 5:26:26 网站建设

seo怎么去优化宁波网站建设优化

导语 【免费下载链接】Aryabhata-1.0 项目地址: https://ai.gitcode.com/hf_mirrors/PhysicsWallahAI/Aryabhata-1.0 印度教育科技公司Physics Wallah推出的小型语言模型Aryabhata-1.0,以70亿参数实现JEE Main数学考试90.2%的准确率,仅需通用大模…

张小明 2025/12/29 3:50:12 网站建设

什么行业做网站搜索福州外贸网站制作

构建高可用AI服务:Dify镜像在Kubernetes中的部署方案 在企业加速拥抱大模型的今天,一个现实问题摆在面前:如何让非算法背景的工程师也能快速构建出稳定、可扩展的AI应用?直接调用OpenAI或通义千问这类API固然简单,但面…

张小明 2025/12/30 21:49:31 网站建设

浙江网站制作wordpress uc

Git 高级操作指南:从提交信息编辑到交互式块暂存 1. 使用 filter - branch 编辑提交信息 在 Git 操作中,我们可能会遇到需要修改提交信息的情况。比如,某个提交引入的文件已被移除,但提交信息仍提及该文件。 $ git log -1 7298fc55 commit 7298fc55d1496c7e70909f3ebce…

张小明 2025/12/30 15:21:28 网站建设

安徽省建设干部学校网站首页wordpress-5.2.zip

3000品牌图标一键获取:Simple Icons使用完全指南 【免费下载链接】simple-icons 项目地址: https://gitcode.com/gh_mirrors/sim/simple-icons 还在为项目寻找高质量品牌图标而头疼吗?Simple Icons 开源项目提供了超过3000个流行品牌的SVG图标解…

张小明 2025/12/31 8:09:42 网站建设