作业-day-240523

思维导图

知识点问答

1、IO多路复用的原理

1、创建一个检测文件描述符的容器 fd_set fds;
2、将需要检测的文件描述符放入容器中 FD_SET(文件描述符,&fds);
3、通过一个阻塞函数阻塞等待容器中是否有事件产生,如果有一个或多个事件产生,则解除阻塞,并将未产生事件的描述符从容器中删除。
4、根据阻塞函数的返回值,解除使用对应文件描述符函数的阻塞。

2、实现IO多讨论复用的函数?select和poll函数的区别

实现IO多讨论复用的函数:select、poll、epoll

select和poll函数的区别:

1、select是检测不同文件描述符的集合。poll是将要检测的文件描述符放入一个结构体数组中。
2、select解除阻塞时,会将集合中未触发事件的描述符删除。poll解除阻塞时不会删除未触发的文件描述符。
3、超时参数不同。select是值传递,poll是地址传递。
4、select在检查文件描述符集合时有大小限制,poll没有。

3、UDP通信中能否使用connect函数?有什么好处?

可以使用。UDP服务器端一旦使用connect和某一客户端建立了连接,就不再接收其他客户端的信息。设置客户端结构体的sin.family=AF_UNSPES,再调用次connect函数即可取消连接。
使用好处:
1、可以实现数据的稳定传输,不至于在跟某端点通信时,被其他端点打断。
2、能够提高传输效率。
未连接读取操作流程:内核中填充对端地址信息-->读取消息-->清空内核-->内核中填充对端地址信息-->读取消息-->清空内核-->...
已连接读取操作流程:内核中填充对端地址信息-->读取消息-->读取消息-->读取消息-->...

4、ARP、HTTP、TFTP、IP、UDP、TCP分别是什么协议?用途?在TCP/IP协议族的哪一层?

ARP:地址解析协议。通过IP地址获取对分mac地址。链路层。

HTTP:超文本传输协议。万维网通信的基础。应用层

TFTP:简单文件传输协议。网络上进行文件传输的一套标准协议,使用UDP传输。应用层。

IP:网际互连协议。能够在不同网络间实现信息传递的协议。网络层

UDP:用户数据报协议。是一种无连接、不可靠、快速传输的协议。传输层。

TCP:传输控制协议。是一种面向连接、可靠的、基于字节流的传输协议。传输层。

5、默认子网掩码

A类网络IP地址范围:[1.0.0.0~~127.255.255.255]        子网掩码:255.0.0.0

B类网络IP地址范围:[128.0.0.0~~191.255.255.255]        子网掩码:255.255.0.0

C类网络IP地址范围:[192.0.0.0~~223.255.255.255]        子网掩码:255.255.255.0

D类网络IP地址范围:[224.0.0.0~~239.255.255.255]        无子网掩码

E类网络IP地址范围:[240.0.0.0~~255.255.255.255]        无子网掩码

6、顺序表和链表的区别

1.内存:顺序表只要定义出来不能增加长度,链表长度不受限
2.空间利用率:
  a.从已经分配了的空间的使用角度:顺序表空间使用率比链表低
  b.从内存角度:顺序表的空间利用率比链表高(顺序表是连续申请空间,链表是每个结点分配空间(会造成中间有很多碎片空间))
3.存储结构:顺序表--->顺序存储     链表--->链式存储
4.操作:
  a.顺序表插入和删除需要移动大量元素(O(n)),链表不需要,时间复杂度是O(1)
  b.顺序表查找和更改操作时间复杂度是O(1),链表查找和更改操作事件复杂度是O(n)

7、进程和线程的区别

1、内存管理有区别
进程:

父进程创建子进程之后,子进程完全拷贝父进程的内存空间。子进程和父进程之间,内存是独立的,互不干涉。

线程:
主线程创建子线程之后,子线程只会额外的开销8k的内存空间,这8k内存用来存放线程属性,内存的起始位置,终止位置,线程 id等等线程相关的数据。子线程的内存空间,和主线程之间是共享的。
2、进程是资源的获取单位,线程是资源的分配运行单位
3、多进程之间的切换,切换效率要低于多线程之间的切换
4、多进程之间的运行互不影响。父进程结束运行,不影响子进程的运行。同理子进程结束运行,也不影响父进程的运行
但是多线程之间,他们的运行不是完全独立。主线程结束运行,所有线程都得结束运行(因为主线程是主函数,主函数结束了,进程就结束了)。其他线程结束运行,互相之间不影响。

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

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

相关文章

由于找不到mfc140u.dll怎么办,介绍5种靠谱有效的解决方法

当您的电脑显示“mfc140u.dll丢失”的错误时,通常是因为系统中缺少了某个必要的动态链接库文件。这个问题可能会导致某些应用程序无法正常运行,给用户带来困扰。下面我将详细介绍解决该问题的五种方法。 一,关于mfc140u.dll文件的概述 mfc14…

OneAPI接入本地大模型+FastGPT调用本地大模型

将Ollama下载的本地大模型配置到OneAPI中,并通过FastGPT调用本地大模型完成对话。 OneAPI配置 新建令牌 新建渠道 FastGPT配置 配置docker-compose 配置令牌和OneAPI部署地址 配置config.json 配置调用的渠道名称和大模型名称 {"systemEnv": {&qu…

mainwindow 无菜单栏 可拖动,边界可扩大,动画浮现上边框

mainwindow 无菜单栏 可拖动,边界可扩大,动画浮现上边框 #ifndef ANIMATIONWIN_H #define ANIMATIONWIN_H #include namespace Ui {class animationWin; } class animationWin : public QWidget {Q_OBJECT public: explicit animationWin(QWidget *parent = nullptr); …

Linux 配置SSH免密登录(SSH互信)

有时候两台或多台主机之间我们希望可以进行免密登录,其实SSH有提供这样的功能,只需三步。首先在SSH服务端配置允许公钥私钥配对认证,然后在客户端生成公钥,最后将客户端的公钥上传到服务端。这样就可以从客户端免密登录服务端特定…

一文带你了解所有常用排序算法

目录 快速排序 堆排序 桶排序 归并排序 拓扑排序 本文主要介绍那些我在刷题过程中常用到的排序算法: 快速排序,堆排序,桶排序,归并排序,拓扑排序 其余算法例如冒泡,插入这种效率特别低的算法就不介绍了,用的可能性极小 每一个算法都将采用例题加解释的方式进行介绍 快速…

C++语法|虚函数与多态详细讲解系列(包含多重继承内容)

这几天把一些书籍课程,还有一些个人感悟整理了一个合集,算是把C面向对象编程中最让人感到疑惑的内容做了一个总结,文章导读如下: C语法|虚函数与多态详细讲解(一)|再谈构造函数&…

中科大6系+先研院+中南大学电子信息学院2023年保研经历

中科大6系 英语口语问题: What’s your research plan?Please introduce your project. 专业课问题: BPSK和QPSK每个字母代表的含义?QAM的星座图是什么样的?根据什么准则画成那个样子? 中科大先研院 …

行业首发 | MS08067-SecGPT(送邀请码)

一、简介 MS08067-SecGPT基于LLM大模型技术专门为网络安全领域设计的智能助手,集问答、分析、工具为一体的对话式安全专家,支持可以创建多会话问答。目的是辅助用户完成网络安全相关的工作,学员通过问答方式体验到SecGPT所具备的威胁情报分…

flume使用实例

1、监听端口a1.sources.r1.type netcat 配置文件nc-flume-console.conf # Name the components on this agent a1 表示jvm进程名 a1.sources r1 a1.sinks k1 a1.channels c1 # Describe/configure the source a1.sources.r1.type netcat a1.sources.r1.bind node…

香橙派——自发热点连Wi-Fi

文章目录 1. 安装依赖2. 热点功能(1)开启热点(并断开当前连接的Wi-Fi)(2)运行Web后端 3. 开启自启动脚本方式一:配置系统开机自启动service服务 其他常用命令及脚本 1. 安装依赖 sudo apt-get …

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION--论文笔记

论文笔记 论文来源 Very Deep Convolutional Networks for Large-Scale Image Recognition 代码来源 还没上传 数据集 这里采用的是猫狗数据集 还没上传 1论文摘要的翻译 在这项工作中,我们研究了卷积网络深度对其在大规模图像识别设置中的准确性的影响。我…

uniapp 蓝牙分包发送数据

// 连接蓝牙设备并发送数据 function sendDataOverBLE(deviceId, data) {// 首先连接蓝牙设备uni.createBLEConnection({deviceId: deviceId,success: function(res) {// 连接成功后,获取服务uni.getBLEDeviceServices({deviceId: deviceId,success: function(res) …

CSP模板生成系统

开门见山&#xff0c;直接放一百分代码&#xff1a; #include<iostream> #include<algorithm> #include<cstring> #include<bits/stdc.h> using namespace std; const int N 2e4 10; string a[1010]; unordered_map<string , string> mp;void…

防火墙技术基础篇:解析入侵检测与预防系统(IDPS)功能

防火墙技术基础篇&#xff1a;解析入侵检测与预防系统&#xff08;IDPS&#xff09;功能 入侵检测与预防系统&#xff08;Intrusion Detection and Prevention Systems, IDPS&#xff09;作为防火墙技术的核心组成部分&#xff0c;扮演着保护网络安全的关键角色。本文将全面讲…

mysqlbinlog解析

安装mysql后在bin文件夹下搜索mysqlbinlog.exe&#xff0c;用cmd执行以下命令 mysqlbinlog --no-defaults --base64-outputdecode-rows -vv C:\Users\Desktop\mysql-bin.001914 > C:\Users\Desktop\output14.sql–no-defaults&#xff1a;不要读取任何选项文件。如果由于从…

【力扣一轮】344.反转字符串 541.反转字符串Ⅱ

344.反转字符串 思路 两个指针向中间移动&#xff0c;反转字符串即可。 伪代码 遍历字符串两个指针分别指向开头及末尾交换开头及末尾元素代码 void reverseString(string & s) {for(int i 0, j s.size()-1 ; i < s.size()/2 ; i , j--){char temp s[i];s[i]s…

OSPF状态机及网络接口类型

、OSPF 状态机 Down一旦接收到hello 包进人下一个状态机 Init 初始化接收到的hello 包中&#xff0c;若存在本地的 RID&#xff0c;进入下一状态 2way 双向通讯--邻居关系建立的标志 条件匹配:点到点网络直接进入下一个状态机 MA 网络将进行 DR/BDR 选举(40S) 非 DR…

一个程序员的牢狱生涯(34)利害

星期一 利害 老杨让我把煤气灶上的炒瓢里倒了一瓢水后,又让我帮他打开面粉袋,然后一边从里面抓出一把面粉放到水瓢里,一边和我说道: “我也怀疑是小X州,但当时你并没有证据能证明是他放的,对吧!” 我点点头后,老杨继续说道: “不要看别人好像在号子里想起来就能欺负他…

东北师范大学信息科学与技术学院课程攻略 共享计划

文章目录 介绍前言特性平台为什么采用 GitHub 项目作为平台&#xff1f;上传什么资料&#xff1f;警告 相关说明命名说明Watch、Star、Fork的说明 使用指南查找搜索文件下载方式贡献方法 开源力量许可附录东北师范大学学风建设实施细则第六章 规范与惩处&#xff08;学生&#…

[力扣题解] 841. 钥匙和房间

题目&#xff1a;841. 钥匙和房间 思路 深度优先搜索&#xff0c;只从0号房间进入&#xff0c;最后统计遍历情况&#xff0c;如果有没有遍历到的&#xff0c;返回false&#xff0c;否则返回true&#xff1b; 代码 class Solution { private:void dfs(vector<vector<i…