发 帖  
  • 发布了文章 2023-10-8 17:21
    多路 IO 复用模型 多路 IO 复用,有时也称为事件驱动 IO。它的基本原理就是有个函数会不断地轮询所负责的所有 socket ,当某个 socket有数据到达了,就通知用户进程。IO 复用模型的流程如图: 当用户进程调用了 select...
    0
    766次阅读
    0条评论
  • 发布了文章 2023-10-8 17:16
    阻塞 IO 模型 在Linux ,默认情况下所有的 socket 都是阻塞的,一个典型的读操作流程如图所示。 阻塞和非阻塞的概念描述的是用户线程调用内核 IO 操作的方式:阻塞是指 IO 操作需要彻底完成后才返回到用户空间;而非阻塞是指 I...
    0
    832次阅读
    0条评论
  • 发布了文章 2023-10-8 17:11
    接下来再看一下著名的 TCP 状态流转图。 CLOSED状态:表示初始状态。 LISTEN状态:表示服务器端的某个 socket 处于监听状态,可以接受连接。 SYN_SENT状态:在服务端监听后,客户端 socket 执行 CONNECT...
    0
    1054次阅读
    0条评论
  • 发布了文章 2023-10-8 17:01
        建连接时SYN超时问题 如果 server 端因为某种情况没有收到 client 回来的 ACK,那么,这个连接处还处于一个未建立的状态。于是,server端如果在一定时间内没有收到,则 server 端的 TCP 会重发 SYN_...
    0
    776次阅读
    0条评论
  • 发布了文章 2023-10-8 16:52
    TCP三次握手其实,网络上的传输是没有连接的, TCP 是一样的 TCP 所谓的 “连接”,其实只不过是在通信的双方维护一个“连接状态”,让它看上去好像有连接一样 所以, TCP 的状态变换是非常重要的 。 TCP 连接的建立可以简单地称为...
    0
    711次阅读
    0条评论
  • 发布了文章 2023-10-8 16:45
    在学习 TCP 连接之前,还要学习一下 TCP 头部格式。因为 TCP 连接建立,需要用 TCP 包来交换和管理数据,下面看一下 TCP头部格式。 TCP 头部里每个字段都为管理 TCP 连接和控制数据流起了重要作用。 16 位端口号:告知...
    0
    1627次阅读
    0条评论
  • 发布了文章 2023-10-8 16:39
    七层模型 这个 ISO 层网络模型各层的名字、主要功能对应的典型设备和传输单位如下图: 这个七层网络模型在数据的传输过程中还会对数据进行封装,如下图: ISO 层网络模型中,当一台主需要传送用户的数据 (data) 时,数据首先通过应用层的...
    0
    1930次阅读
    0条评论
  • 发布了文章 2023-10-8 16:21
    后台开发,netstat命令总是绕不过,不仅工作中经常用过,面试也是考的多。netstat命令,对应的选项比较多,功能比较强大。netstat 常用来查看,后台服务进程的相关状态。 netstat 可以用来打印网络连接、路由表、连接的数据统...
    0
    582次阅读
    0条评论
  • 发布了文章 2023-10-8 16:13
    下面说明一下 linux 下调试 core dump 方法。 dmesg+addr2line调试 先介绍 2 个 linux 命令: dmesg ,一种程序,用于检测和控制内核缓冲。程序用来帮助用户,了解系统的启动信息,可以获得出错堆栈地址...
    0
    617次阅读
    0条评论
  • 发布了文章 2023-10-8 16:07
    调试,是开发流程中一个非常重要的环节。每个程序员都应,具备调试代码的能力,尤其对于从事 Linux 下的开发的读者。 从事 linux 下后台开发,有时候会遇到程序突然崩溃的情况,也没有任何日志,这会让你不知所措。 今天给大家介绍一个 co...
    0
    934次阅读
    0条评论
  • 发布了文章 2023-10-8 16:01
    两个队列实现一个栈 思路:两个队列实现一个栈,使用了队列交换的思想。 代码如下: type MyStack struct { queue1, queue2 [] int } //构造函数 func Constructor () (s MyS...
    0
    634次阅读
    0条评论
  • 发布了文章 2023-10-8 15:54
    栈和队列是比较基础的数据结构。无论在工作中,还是在面试中,栈和队列都用的比较多。在计算机的世界,你会看到队列和栈,无处不在。 栈:一个先进后出的数据结构 队列:一个先进先出的数据结构 栈和队列这两种数据结构,同时也存在某种联系。用栈可以实现...
    0
    787次阅读
    0条评论
  • 发布了文章 2023-10-8 15:48
    进程间通信 如果两个进程,想要知道对方在干嘛,或者进行协调运行,就需要进程间通信。下面介绍一下常见的进程间通信方式。 无名管道: 管道是一种半双工的通信方式。数据只能单向流动,而且只能在,具有亲缘关系的进程间使用。进程间的亲缘关系,通常指父...
    0
    1311次阅读
    0条评论
  • 发布了文章 2023-10-8 15:42
    进程同步 动画展示,临界区的资源,在某个时刻,只能有一个进程在使用。 临界资源 一旦有对资源的共享,就必然涉及竞争限制。 临界资源用来表示一种,公共资源或者说是共享数据,可以被多个线程使用。 但是每一次,只能有一个线程使用它。一旦临界资源被...
    0
    1072次阅读
    0条评论
  • 发布了文章 2023-10-8 15:36
    PCB进程控制块 独立运行基本单位的标志:创建进程时创建PCB,进程结束时回PCB,进程随之消亡。系统是通过PCB,感知进程的存在。PCB已成为,进程存在于系统中的唯一标志。 实现间断性运行方式:进程暂停运行时,必须保留,运行时的CPU等相...
    0
    1096次阅读
    0条评论
ta 的专栏

成就与认可

  • 获得 71 次赞同

    获得 0 次收藏

谁来看过他

关闭

站长推荐 上一条 /6 下一条

返回顶部