c7473168
码龄3年
关注
提问 私信
  • 博客:9,144
    9,144
    总访问量
  • 45
    原创
  • 1,382,670
    排名
  • 5
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2022-05-29
博客简介:

c7473168的博客

查看详细资料
个人成就
  • 获得2次点赞
  • 内容获得3次评论
  • 获得11次收藏
创作历程
  • 45篇
    2022年
成就勋章
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

179人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

网络编程学习总结5

有五个哲学家,他们的生活方式是交替地进行思考和进餐,哲学家们共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五支筷子,平时哲学家进行思考,饥饿时便试图取其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐,该哲学家进餐完毕后,放下左右两只筷子又继续思考。当一个进程或线程已经占用一个不可被剥夺的资源,并且在请求新资源无法被满足时,则释放已经占用的资源,等待一段时间后重新申请。3、右击此电脑->属性->高级系统设置->高级->环境变量->Path->编辑->新建->粘贴路径->确定。
原创
发布博客 2022.10.13 ·
113 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

网络编程学习总结4

注意:从表面上看当主线程结束后,子线程会跟着一起结束,就会误以为主线程的结束影响了子线程的结束,但是实际上子线程之所以结束是因为主线程执行了main函数中隐藏的return语句,导致了整个进程结束,所以进程中所有的线程才会随之结束。1、线程是进程的执行路线,它是进程内部的控制序列,或者说线程是进程的一部分(进程是一个资源单位,线程是执行单位,线程是进程的一部分,负责真正的执行)9、线程的系统开销很小、任务切换快、多个线程之间不需要数据交换、因此不需要类似于XSI的通信机制,因此使用线程简单而高效。
原创
发布博客 2022.10.12 ·
103 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网络编程学习总结3

/ 被监控的文件描述符。2,调用结束后如果想知道具体是哪个文件描述符发生了相关的操作,必须对所有被监控的文件描述符。优点:不需要频繁的创建,销毁进程从而节约了内存资源,时间资源,也避免了进程之间的竞争,等待。需要存储被监控的文件描述符,当由于有文件描述符发生了相应的操作而导致函数返回时,// 产生事件的描述符。// 想要监控的事件。2,会只把发生事件的描述符返回,不需要遍历所有的描述符,大大的节约时间。返回值:监控到发生相关操作的文件描述符的个数,超时返回0,错误返回-1;
原创
发布博客 2022.09.26 ·
273 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网络编程学习总结2

addrlen:地址结构体的字节数,用于区分sockaddr_un还是sockaddr_in。功能:把字符串格式的点分十进制表示的ip地址转换成整数形式的ip地址(大端)返回值:连接成功返回一个新的连接后的socket描述符,连接失败返回-1。准备通信地址(端口号+ip地址) 准备通信地址(端口号+ip地址)功能:把整数形式的ip地址转换成字符串格式的点分十进制表示的ip地址。绑定 ...1,即告诉src_addr函数当前计算机地址结构体的字节数。
原创
发布博客 2022.09.22 ·
236 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网络编程学习总结1

实际传递的是 sockaddr_un或者sockaddr_in 结构体指针,需要把它们统一转换。addrlen:地址结构体的字节数,用于区分sockaddr_un还是sockaddr_in。OSI/RM结构七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。addrlen:地址结构体的字节数,用于区分sockaddr_un还是sockaddr_in。
原创
发布博客 2022.09.20 ·
65 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结8

MSG_NOERROR 如果不包含此标志,如果实际发送过来的数据字节数>接收的字节数,
原创
发布博客 2022.09.19 ·
70 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结7

WCONTINUED 如果有子进程从暂停态转为继续运行,返回该子进程的状态。2、进程接收到某些信息,可以是其它进程发送的,也可能自己的错误导致的。这三种方式结束进程,它的父进程都无法获取结束状态码,因此叫做异常终止。因为进程之间是相互独立的,为了进程间协同工作就必须实现进程间交互数据。2、如果有一个子进程结束,立即返回该进程的结束状态码和ID。管道就是一种特殊的文件,数据在文件中是流动的,读取之后就自动消失,对于子进程的结束而言,都希望父进程能够知道并作出一定的反应,
原创
发布博客 2022.09.18 ·
272 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结6

注意:vfork创建的子进程一定先返回,此时子进程并没有创建成功,需要加载一个可执行文件替换当前子进程当前的所有资源,当替换完成后子进程才算创建成功,此刻父进程才返回。孤儿进程:父进程先于子进程结束,子进程就变成了孤儿进程,孤儿进程会被孤儿院(init守护进程)领养,init就是孤儿进程的父进程。一个进程可以被另一个进程创建,创建者叫做父进程,被创建者叫子进程,子进程被父进程创建后会在操作系统的调度下同时运行。僵尸进程:该进程已死亡,但是它的父进程没有立即回收它的相关资源,该进程就进入僵尸态。
原创
发布博客 2022.09.15 ·
53 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结5

/ 不附带其他信息的信号处理函数。ITIMER_REAL 真实计时器 程序总的计时时间SIGALRM(14)ITIMER_VIRTUAL 虚拟计时器 用户态的计时SIGVTALRM(26)void (*sa_restorer)(void);1、SIGKILL(9)、SIGSTOP(19)信号不能被捕获和忽略处理。SIG_BLOCK 把set中的信号添加到要屏蔽的信号集里。SIG_UNBLOCK 从信号屏蔽集中删除set中的信号 解除。
原创
发布博客 2022.09.09 ·
101 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结4

/ 占用512Bblock块数量。// 最后内容修改时间。// 最后状态修改时间。// 下一条信息的偏移量。// inode节点号。// 文件类型和权限。// 特殊设备ID号。功能:从目录流中读取一条记录信息,该条信息记录了目录中一个文件的信息。
原创
发布博客 2022.09.08 ·
101 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结3

结论:使用标准IO比直接使用系统IO更快,原因是标准IO有缓冲区机制,在写入数据时并不是立即直接调用系统IO进行写入,而是先把缓冲区写慢后,再调用系统调用写入到文件中。每个打开的文件都有一个记录读写位置的指针,叫做文件位置指针,所有对文件的读写操作都是从该指针的位置进行的,该指针会随着文件的读写自动往后移动。4、内核中有一张打开文件的表格,文件描述符是访问这张表的下标,因此也称为"句柄",相当于访问已打开文件的凭证。注意:其中一个文件描述符关闭,不影响复制出来的文件描述符,但是他们共享同一个文件位置指针。
原创
发布博客 2022.09.05 ·
94 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结2

注意:sbrk/brk 属于POSIX标准中的内存映射函数,都可以单独映射、取消映射,但是配合使用最方便(sbrk映射、brk取消映射)4、每个进程都有4G的虚拟地址空间,虚拟地址只是虚假的地址编号,并不是真实物理内存地址编号,虚拟地址必须与物理内存进行映射后才能使用。1、sbrk/brk底层维护了一个指针,该指针记录这映射内存的结尾,移动该指针就会映射、取消映射,映射的内存属于堆内存。2、mmap/munmap 底层不维护任何东西,如果mmap映射成功返回映射后的内存首地址,映射的内存属于堆内存。
原创
发布博客 2022.09.02 ·
91 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux环境编程学习总结1

Minix操作系统是一种基于微内核架构的类UNIX计算机操作系统,并开放全部源代码给大学教学和研究工作,Linux之父林纳斯正是收到Minix的启发,才开发了第一个版本的Linux内核。相当于带入口的可执行文件,当运行程序时,会把共享库一起加载到内存中,调用共享库函数,函数名就是记录了它在共享库中的位置,本质上是跳转到共享库中对应的位置执行。每个程序执行时操作系统都会分配一张环境变量表,该表中记录了操作系统所有的环境变量,这些环境变量反映了操作系统的配置情况,以及程序所处于的操作系统环境情况。...
原创
发布博客 2022.08.31 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构与算法学习总结12

该排序算法理论上速度非常快,它不是基于比较的算法,在一定范围内整数排序时快于任意的一种比较排序算法,但是有很大的局限性:适合排序整形数据,而且数据的范围差别不宜过大,否则会非常浪费内存反而慢于比较的排序,如果数据越平均、重复数越多,性价比越高。根据数据的值存储到不同的桶中,然后再调用其它的排序算法,度桶中的数据进行排序,然后再从桶中依次拷贝回数组中,从而降低排序的规模以此提高排序的速度,是一种典型的以空间换时间的算法。对待查找的数据没有要求,从头到尾逐一比较,在小规模的查找中较为常见,查找效率较低。...
原创
发布博客 2022.08.30 ·
75 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构与算法学习总结11

是一种数据处理的思想,不是一种特定的算法,当数据量非常多时,可以先把数据进行分块处理,然后再根据分块的条件进行查找,例如英文字典。待查找的数据必须有序,从数据中间位置开始比较查找,如果中间值比key小,则从左边继续进行二分查找,反之从右边进行。注意:对于一个算法而言,其时间复杂度与空间复杂度往往是相互影响的,没有唯一的标准,需要结合实际综合考虑。分而治之,把一个大而复杂的问题,分解成很多小而简单的问题,利用计算机强大的计算能力来解决问题。用一个一维数组存储n个顶点,用一个n*n的二维数组存储边。...
原创
发布博客 2022.08.29 ·
68 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构与算法学习总结10

度:依附于顶点的边的数量称之为该顶点的度,有向图中,度分为出度(从该顶点出发的弧的数量)、入度(指向该顶点的弧的数量)生成树:顶点数为n,仅需要n-1条边的连通图,称之为生成树,如果给边配上权重,权重和最小的生成树称之为最小生成树。通常表示: G(V,E) G表示一个图,V是图中顶点集合(元素),E是图中所有边(元素之间的关系)的集合。注意:不讨论顶点到自身的边,且不讨论重复的边,这种图统称为简单图,数据结构中只研究简单图。边的权重:图中的边附带有意义的数据,这些数据叫做边的权重,带权重的图也称为网。..
原创
发布博客 2022.08.27 ·
72 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构与算法学习总结9

2、从F中选取权值最小的两个节点作为左右子树构建成一棵新的二叉树,且新的根节点的权为左右子树的权值之和。也是一种自平衡的树,它不是根据子树的高度差来调整平衡的,而是给节点设置一种颜色,来达到平衡。前提是有序的二叉树,它的左右子树的高度差不超过1,而且它的所有子树也满足这个条件。5、从一个节点到该节点的子孙节点的所有路径上包含了相同数量的黑色节点。节点的权:若将树中节点赋予一个有某种意义的数值,该数值称为该节点的权。节点的带权路径长度:从根节点到该节点的路径长度与该节点的权的乘积。......
原创
发布博客 2022.08.26 ·
78 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构与算法学习总结8

是一种完全二叉树,待比较的数据都存储在最后一层,根节点是根据左右子树其中一个生成,因此根节点是最大或者最小的,选择树的功能是快速地找出最大值或最小值。有序链式二叉树中有很多的空指针,可以让这些指针指向下一个、前一个节点,这样在遍历时可以不用递归而可以使用循环遍历,可以提高树的遍历速度。右子树指针标志位 (假表示指向真的右子树,真表示右子树指向下一个节点)规律:在n个节点的链式二叉树中必定有n+1个空指针域。大顶堆(大根堆):根节点比左右子树大。是一种完全二叉树,不适合链式存储。选择树:(胜者树、败者树)..
原创
发布博客 2022.08.25 ·
395 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构与算法学习总结7

完全二叉树:深度为k,有n个节点的二叉树当且仅当其每一个节点都与深度为k的满二叉树中编号从1到n的节点一一对应时,称为完全二叉树。左子树的数据小于根,右子树的数据大于等于根,这种树称为有序二叉树、二叉搜索树、二叉排序树。性质3:若在任意一棵二叉树中,有n0个叶子节点,有n2个度为2的节点,则必有n0=n2+1。双亲和孩子(父节点、子节点):节点的子树被称为孩子节点,该节点就是它们的双亲。若2i+1≤n,则有编号为2i+1的右节点,否则没有右节点。若2i≤n,则有编号为2i的左节点,否则没有左节点。
原创
发布博客 2022.08.24 ·
69 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构与算法学习总结6

注意:局部变量可以和全局变量同名,在函数内局部变量会屏蔽同名的全局变量,块变量在语句块内会屏蔽同名的全局、局部变量,因此建议全局变量首字母大写。如果变量的值没有被显示修改,那么在使用该变量时不会从内存中读取,而是继续使用上次读取的结果,这个过程叫做取值优化,一般变量都会进行。但是如果修饰的是初始化过的全局变量、初始化过的静态局部变量,则该变量会从data改为text,变成了"常量",不能强制修改。5、数组作为函数参数传递时,传递是数组的首地址,叫做"址传递",函数和函数的调用者可以共享同一个数组。
原创
发布博客 2022.08.23 ·
85 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多