网站建设的看法有哪些后端和前端哪个前景好

news/2025/9/23 1:06:10/文章来源:
网站建设的看法有哪些,后端和前端哪个前景好,网站使用arial字体下载,智慧团建官网重置密码验证码一.四种模型 阻塞式IO#xff0c;非阻塞式IO#xff0c;信号驱动IO#xff0c;IO多路复用 二.阻塞式IO 特点#xff1a;最简单#xff0c;最常用#xff0c;效率低 阻塞I/O 模式是最普遍使用的I/O 模式 系统默认状态#xff0c;套接字建立后所处于的模式就是阻塞I/O 模式… 一.四种模型 阻塞式IO非阻塞式IO信号驱动IOIO多路复用 二.阻塞式IO 特点最简单最常用效率低 阻塞I/O 模式是最普遍使用的I/O 模式   系统默认状态套接字建立后所处于的模式就是阻塞I/O 模式。   目前学习的读写函数中会发生阻塞相关函数如下  ·      read、recv、recvfrom          读阻塞--》需要读缓冲区中有数据可读读阻塞才会解除  ·      write, send           写阻塞--》阻塞就是写入数据时遇到缓冲区满了的情况需要等待缓冲区有空间后才能继续写入, 所以写阻塞发生的情况比较少.  ·      accept    connect 需要注意的是使用UDP时UDP没有发送缓存区 ,则sendto没有阻塞  1UDP通信无连接且无发送缓冲区(不怕粘包)即sendto在UDP中没有发送缓冲区。  2UDP不用等待确认没有实际的发送缓冲区所以UDP协议中不存在缓冲区满的情况在UDP套接字上进行写操作永远不会阻塞。 UDP与TCP缓存区  UDP是一种无连接的传输协议它不保证数据的可靠性和顺序性, 所以不需要考虑连接和缓存而是将数据尽快发送出去不关心数据是否到达目标主机或者是否按照发送顺序到达. 但是UDP有接受缓存区, 因为数据发送过快, 如果接收缓存区内数据已满, 则继续发送数据, 可能会出现丢包。 TCP是一种面向连接的传输协议有发送缓存区和接收缓存区 如果发送频率过快 且内容小于发送缓存区的大小  可能会导致多个数据的粘包。如果发送的数据大于发送缓存区的剩余大小send将会阻塞,  在阻塞期间send函数会自动拆分数据包发送直到所有数据都被发送完毕或者发送缓冲区的空间不足以继续发送为止, 这就是拆包。 UDP不会造成粘包和拆包,  TCP不会造成丢包 UDP_数据报:  本质是独立的包, 有边界; TCP_流,:本质是字节流形式, 一帧一帧发送,且每一帧没有边界,一帧丢失会重新补发; 三.阻塞式IO 特点可以处理多路IO需要轮询大量浪费CPU资源 当一个应用程序使用了非阻塞模式的套接字则它需要使用一个循环来不停的测试是否一个文件描述符有数据可读。应用程序不停的测试会占用大量的cpu资源 ,所以说一般不适用 将recv设置为非阻塞时, recv在接收缓存区内, 未拿到客户端发送来的数据, 那么recv就会报错 , 所以会一直打印 recv is err: 资源不可用 fcntl设置文件描述符的属性 声明: int fcntl (int fd, int cmd, ...arg); 头文件: #includefcntl.h      #includeunistd.h 功能设置文件描述符的属性 参数fd文件描述符          cmd: 操作功能选项 (可以定义个变量,通过vi -t F_GETFL 来找寻功能赋值 )           F_GETFL:获取文件描述符的原有的状态信息            //不需要第三个参数返回值为获取到的属性           F_SETFL:设置文件描述符的状态信息 - 需要填充第三个参数           //需要填充第三个参数  O_RDONLY, O_RDWR ,O_WRONLY ,O_CREAT                   O_NONBLOCK 非阻塞   O_APPEND追加                   O_ASYNC 异步        O_SYNC  同步            F_SETOWN:    可以用于实现异步通知机制。         //当文件描述符上发生特定事件时例如输入数据到达内核会向拥有该  文件描述符 的进程发送 SIGIO 信号异步以便进程能够及时处理这些事件。         arg:文件描述符的属性      --------------------同上参数 返回值: 特殊选择:根据功能选择返回 (int 类型)             其他:  成功   失败: -1; 改变步骤 1.获取该文件描述符0 (标准输入) 的原属性  标准输入原本具有阻塞的功能   int flag  fcntl(0, F_GETFL); //获取文件描述符原有信息后保存在flag变量内 2.修改对应的位nonblock(非阻塞) int flag | O_NONBLOCK;  3. 将修改好的属性写回去 (0 标准输入 -- 阻塞  改为  非阻塞) fcntl (0, F_SETFL, flag); //文件描述符   设置状态  添加的新属性 #include unistd.h #include stdio.h #include fcntl.hint main(int argc, char const *argv[]) {char buf[64] {0};while (1){int flag fcntl(0, F_GETFL); flag | O_NONBLOCK;fcntl(0, F_SETFL, flag);fgets(buf, sizeof(buf), stdin);sleep(1);printf(buf: %s\n,buf);}return 0; }四.信号驱动IO 特点异步通知模式需要底层驱动支持 异步通知异步通知是一种非阻塞的通知机制发送方发送通知后不需要等待接收方的响应或确认。通知发送后发送方可以继续执行其他操作而无需等待接收方处理通知。 1. 通过信号方式当内核检测到设备数据后会主动给应用发送信号SIGIO。 2. 应用程序收到信号后做异步处理即可。 3. 应用程序需要把自己的进程号告诉内核并打开异步通知机制。 步骤 1.设置将文件描述符和进程号提交给内核驱动一旦fd有事件响应, 则内核驱动会给进程号发送一个SIGIO的信号      fcntl(fd,F_SETOWN,getpid()); 2.设置异步通知     int flags;     flags  fcntl(fd, F_GETFL); //获取原属性     flags | O_ASYNC;       //给flags设置异步   O_ASUNC 通知     fcntl(fd, F_SETFL, flags);  //修改的属性设置进去,此时fd属于异步 3.signal捕捉SIGIO信号 --- SIGIO:内核通知会进程有新的IO信号可用一旦内核给进程发送sigio信号则执行handler     signal(SIGIO,handler); #include stdio.h #include signal.h #include fcntl.h #include sys/types.h #include unistd.hint fd; void handler(int set) {char buf[128] {0};int len read(fd, buf, sizeof(buf));buf[len] \0;printf(%s\n, buf); } int main(int argc, char const *argv[]) {fd open(/dev/input/mouse0, O_RDONLY);if (fd 0){perror(open err);return -1;}fcntl(fd, F_SETOWN, getpid());int flags fcntl(fd, F_GETFL);flags | O_ASYNC;fcntl(fd, F_SETFL, flags);signal(SIGIO, handler);char buf[128] {0};while (1){fgets(buf, sizeof(buf), stdin);printf(%s, buf);}return 0; }signal信号处理相关函数 头文件 #include signal.h         typedef void (*sighandler_t)(int);         sighandler_t   signal(int signum, sighandler_t handler) 功能信号处理函数(注册信号) 参数 int signum要处理的信号(要修改的信号)            sighandler_t handler: 函数指针 void(*handler)(int) (修改的功能)            handler------void handler(int num) 自定义的信号处理函数指针 返回值 成功设置之前的信号处理方式 失败   SIG_ERR 五.IO多路复用 帮助TCP实现并发服务器 特点 进程中若需要同时处理多路输入输出 ,在使用单进程和单线程的情况下, 可使用IO多路复用处理多个请求;IO多路复用不需要创建新的进程和线程, 有效减少了系统的资源开销。 就比如服务员给50个顾客点餐分两步        顾客思考要吃什么等待客户端数据发送        顾客想好了开始点餐接收客户端数据 要提高效率有几种方法   安排50个服务员   (类似于多进程/多线程实现服务器连接多个客户端,太占用资源)哪个顾客想好了吃啥, 那个顾客来柜台点菜 (类似IO多路复用机制实现并发服务器) 实现IO多路复用的方式  select   poll   epoll 六.Linux四种IO模型对比 linux下的四种IO模型假设 假设妈妈有一个孩子孩子在房间里睡觉妈妈需要及时获知孩子是否醒了如何做   阻塞式IO:    进到房间陪孩子一起睡觉孩子醒了吵醒妈妈,不累,但是不能干别的了   非阻塞式IO: 时不时进房间看一下简单空闲时间还能干点别的但是很累   信号驱动IO:  妈妈在客厅干活小孩醒了他会自己走出房门告诉妈妈互不耽误 假设妈妈有三个孩子 分别在不同房间睡觉 需要及时检测每个房间信息 如何做    阻塞式IO  阻塞处理多条路 得不到该目的    非阻塞IO  一直轮询 大量占用CPU;    多线程多进程 或IO多路复用 可以做到

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设运营策划方案建站行业乱象完整版

文章目录 0 引入1、带有标尺的温度/湿度计控件1.头文件2.核心代码 2、竖起来的温度/湿度计控件1.头文件2.实现 3、引用 0 引入 QT原生控件没有实现如仪表盘或者温度计的控件,只好自己实现,文章代码部分参考引用的文章。直接上图 图一 带有标尺的温度计…

新建网站的步骤阿里云搜索引擎入口

目录 前言 一、fsck命令 1、HDFS副本块数量的配置 2、fsck命令查看文件的副本数 3、block配置 二、NameNode元数据 1、edits文件 2、fsigame文件 3、NameNode元数据管理维护 4、元数据合并控制参数 5、SecondaryNameNode的作用 三、HDFS数据的读写流程 1、数据写入…

网络优化推广 网站开发建设重庆seo优化公司

正文 大约在五六年前,第一次接触到了当时已经是hot topic的NoSql。不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉。但是印象深刻的是这么一张图片(后来google到图片来自这里&…

做网站需要多少带宽点播视频网站怎么建设

实验报告题目: 内核模块实验1、实验目的模块是Linux系统的一种特有机制,可用以动态扩展操作系统内核功能。编写实现某些特定功能的模块,将其作为内核的一部分在管态下运行。本实验通过内核模块编程在/porc文件系统中实现系统时钟的读操作接口。2、实验内…

怎么区分营销型网站个人宽带 架设网站需备案

本文翻译自 Reduce the scope and complexity of style calculations,作者:Jeremy Wagner, 略有删改。 JavaScript通常用来改变页面的视觉效果。比如通过改变style样式或者通过计算后改变页面布局,比如搜索或排序数据。长时间运行…

增加网站访客wordpress蜘蛛插件

一、环境QT版本:QT 5.8.0(msvc2013_64)MySQL版本:mysql 5.7.19二、配置之前 mysql 数据库一直都连接不上,网上也搜了很多资料,主要还是库文件的问题。重新将 mysql.pro 编译一下,将生成的 .dll 和 .lib 文件拷贝到 QT …

做深度报道的网站沪尚茗居装修口碑怎么样

档案馆展厅设计的特色化不仅可以增强参观者的体验感,还可以更好地展现档案馆的历史文化价值。 在设计档案馆展厅时,我们可以通过以下几个方面来让其更具特色: 一、主题明确 首先,确定展厅的主题是关键。可以是档案馆的历史沿革…

北京网站建设 shwl虚拟机wordpress建站

0、国内 GitHub 被爆造假,起底背后的黑色产业链作为全球最大的开源社区,GitHub 对于程序员群体而言像是空气般重要的存在,而互联网公司也会通过 GitHub 来进一步了解面试者的编程习惯,技术水平等。但最近知乎上有一篇《中国内地 G…

网页与网站之间的关系做网站的域名怎么申请

引入 今日概要 图片懒加载seleniumphantomJs谷歌无头浏览器知识点回顾 验证码处理流程今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 …

新手做站必看 手把手教你做网站免费域名网站黄

Mysql数据库 ⽬前关系数据库有六种范式: 第⼀范式(1NF)、第⼆范式(2NF)、第三范式(3NF)、巴斯-科德范式 (BCNF)、第四范式(4NF)和第五范式(5NF&a…

php企业网站cms网站设计流程详细步骤

YOLOv8n原图检测YOLOv8n增强后检测召回率和置信度都有提升 前言 这篇博客讲讲低照度,大家都催我出一些内容,没想到这么多同学搞这个,恰好我也做过这方面的一些工作,那今天就来讲解一些方法,低照度的图像增强大体分“传统算法”和“深度学习算法”; 目前低照度的图像增…

手机seo网站推广seo型网站

目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 ​编辑 ​编辑 4.1 对比一组函数: ​编辑 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind…

网站建设公司应该怎么转型wordpress 调用豆瓣

每个优秀的程序员都喜欢编写简洁但有效且经过优化的代码。 类型推断是JDK 7中引入的一种方法,它肯定会为您带来更少键入的好处。 您以以下方式使用Java代码已有很长时间了。 但是,在初始化Collections的特定实现时,您是否曾经想到过代码重复&…

云建站平台哪家好濮阳网络电视直播

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型,并详细介绍该网络模型与代码实现。本文将介绍关于SimpleBaseline模型的原理,以及利用pytorch框架搭建模型…

凡客建站手机版下载咋样查看网站用什么编程语言做的

1:端口需要隔离开 新版增加GRPC 不要挨着设置ip,否则会出现端口占用。 可以使用 8848 8858 8868 8848GRPC会占用9848 9899 8849: 占用9849 9850 8850: 占用9850 9851 nginx 负载也需要与上述端口 隔离开…

怎么把自己做的网站让别人收到国内做网站群平台的公司

在嵌入式环境下,使用CMSIS-DSP库进行音频信号处理是一种常见的应用场景。通过CMSIS-DSP库,开发人员可以利用嵌入式系统的处理能力来实现各种数字信号处理(DSP)功能,例如音频滤波、均衡器、噪音消除等。本文将介绍如何在…

楚雄做网站界面设计属于什么专业

return中断方法和Unreachable code(永远达不到的代码) 1.下面这段代码因为for循环是个死循环,System.out.println(); 执行不到编辑器会报错Unreachable code(永远达不到的代码) public static void main(String[] ar…

哪个网站做视频赚钱为什么建设网站要年年交钱

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器:定义组件重用样式 Extend装饰器:定义扩展组件样式 前面记录了ets组件样式…

合肥网站建设服务哪里有免费的网站推广软件

el-table当数据量大的时候,实现滚动到底部后加载数据,直接上js代码,有其他需求请各自更改 第一步、在data中定义两个数组 data() {return {innerList:[], //新数组,用于存放全部数据innerData:[], //el-table表格数组dom:null,…

淘宝单页面网站零基础网站建设视频

随着信息技术的不断发展,企业应用开发的需求也日益增长。为满足这一需求,低代码与系统集成逐渐崭露头角,成为推动企业数字化转型的重要力量。本文将从低代码的概念、优势,以及其与系统集成的结合等方面进行探讨,以期为…