网络技术相关知识概念

网络技术:

进程(Process)

  • 定义:进程是程序的一次执行过程,它有自己的内存空间和系统资源(资源独立)。
  • 特性
    • 每个进程都有唯一的PID(进程ID)。
    • 进程间通信(IPC)可以通过管道、信号量、共享内存等方式实现。
    • 进程可以创建子进程,子进程继承父进程的部分属性。

比方:

        想象一下,你的电脑就像一家大型的工厂,而每个进程就是这家工厂的一个独立车间。每个车间都有自己的资源,比如工具、原料和工人,它们可以独立完成特定的任务。例如,当你打开一个Word文档时,就启动了一个新的进程,这个进程只负责处理Word文档相关的任务。 

线程(Thread)

  • 定义:线程是进程中的执行单元,共享所属进程的资源。
  • 特性
    • 线程间通信更简单,因为它们共享内存空间。
    • 创建和切换线程比进程成本低。
    • 多线程可以充分利用多核处理器,提高并发性能。

比方:

        在一个车间(进程)内部,你可以有多个工人(线程)。这些工人共享同一套工具和原料,但各自做着不同的工作。这样,一个车间就能同时进行多项任务。比如,在浏览器进程中,可能有一个线程在加载网页,另一个线程在处理JavaScript脚本。 

线程池(Thread Pool)

  • 定义:一组预先创建好的线程集合,用于执行提交的任务。
  • 优点
    • 减少线程创建和销毁的开销。
    • 控制并发线程的数量,避免资源过度消耗。
    • 提高响应速度和处理能力。

比方:

        想象线程是一群临时工,而线程池就是管理这群临时工的人力资源部门。当有新任务进来时,人力资源部会指派一个空闲的临时工去执行任务,任务完成后,临时工不会立即解散,而是回到人力资源部等待下一次任务。这样做的好处是减少了创建和销毁线程的开销。 

协程(Coroutine)

  • 定义:一种轻量级的线程,可以自由地挂起和恢复执行。
  • 特性
    • 不受操作系统调度限制,由应用程序控制。
    • 切换成本远低于线程。
    • 常用于I/O密集型任务,如网络请求处理。

 比方:

        协程更像是车间里的流水线工人,他们可以在不同的任务间灵活切换,不需要像线程那样拥有独立的资源。如果把线程比作同时在不同桌子吃饭的顾客,那么协程就像是在一张大桌子上轮流吃饭的人们,共用一套餐具。

网卡(Network Card / NIC)

  • 定义:用于实现计算机网络连接的硬件设备
  • 功能
    • 发送和接收网络数据包。
    • 支持多种网络协议,如以太网、Wi-Fi等。
    • 配置IP地址、子网掩码等网络参数。

 比方:

        网卡就像是你家的电话线或光纤接口,它是你电脑与外界网络通信的物理接口。没有网卡,电脑就像一座孤岛,无法与其他设备交流信息。

路由器(Router)

  • 定义:在网络中传输数据包的设备,决定数据包的最佳路径。
  • 功能
    • 路由选择算法确定数据包的传输路径。
    • 实现不同网络之间的通信。
    • 提供防火墙、DHCP服务器等功能。

 比方:

        路由器则像是邮局,它接收来自不同地方的信息包,并根据目的地将它们转发到正确的路径上。在家庭网络中,路由器连接互联网和你家的多台设备,确保数据能够正确无误地到达每一个设备。

Socket

  • 定义:用于网络通信的编程接口,提供数据的双向流式传输
  • 类型
    • 流式套接字(SOCK_STREAM,TCP)保证数据的可靠传输。
    • 数据报套接字(SOCK_DGRAM,UDP)提供无连接的数据包传输。
    • 原始套接字(SOCK_RAW)允许直接访问底层协议。

 比方:

        Socket是一种通信端口,可以看作是两台计算机之间通信的管道。如果你打电话给朋友,那么电话线路就是socket,它让双方能互相听到对方的声音。在计算机网络中,socket允许两台机器上的应用程序相互通信。

数据库(Database)

  • 定义组织和存储数据的系统,提供数据的检索、更新和管理。
  • 类型
    • 关系型数据库(RDBMS)使用表格结构存储数据。
    • 非关系型数据库(NoSQL)支持更灵活的数据模型,如键值对、文档、图形等。
  • 特性:   数据完整性、安全性、并发控制等机制。SQL语言用于数据查询和管理。                                                                      

比方:

         数据库就像是一个巨大的图书馆,存储着各种各样的信息。图书馆有管理员(数据库管理系统),他们会按照一定的规则分类、存储和检索书籍(数据)。当用户(应用程序)想要查找或更新信息时,他们通过管理员来进行操作,而不用直接接触书架(数据表)。

关系图:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

笔记 4 :linux 0.11 中继续分析 0 号进程创建一号进程的 fork () 函数

(27)本条目开始, 开始分析 copy_process () 函数,其又会调用别的函数,故先分析别的函数。 get_free_page () ; 先 介绍汇编指令 scasb : 以及 指令 sstosd :…

Vue1-Vue核心

目录 Vue简介 官网 介绍与描述 Vue的特点 与其它 JS 框架的关联 Vue周边库 初识Vue Vue模板语法 数据绑定 el与data的两种写法 MVVM模型 数据代理 回顾Object.defineProperty方法 何为数据代理 Vue中的数据代理 数据代理图示 事件处理 事件的基本使用 事件修…

Appium自动化测试系列: 2. 使用Appium启动APP(真机)

历史文章:Appium自动化测试系列: 1. Mac安装配置Appium_mac安装appium-CSDN博客 一、准备工作 1. 安卓测试机打开调试模式,然后使用可以传输数据的数据线连接上你的电脑。注意:你的数据线一定要支持传输数据,有的数据线只支持充…

MySQL:库操作

1. 创建数据库 create database [if not exists] name [create_specification], [create_specification]... []内为可选的选项 create_specification: character set charset_name -- 指定数据库采用的字符集 -- 数据库未来存储数据 collate collation_name -- 指定数据库字符…

Python3极简教程(一小时学完)下

目录 PEP8 代码风格指南 知识点 介绍 愚蠢的一致性就像没脑子的妖怪 代码排版 缩进 制表符还是空格 每行最大长度 空行 源文件编码 导入包 字符串引号 表达式和语句中的空格 不能忍受的情况 其他建议 注释 块注释 行内注释 文档字符串 版本注记 命名约定 …

github actions方式拉取docker镜像

参考: https://wkdaily.cpolar.cn/archives/gc 注意github actions提供的免费虚拟机空间有限,空间不足会报错,查看大概语句有10来G 我在workflow file里加了df -h 运行查看磁盘情况: 通过pwd命令,可以知道运行目录/ho…

深度加速器 为游戏而生

使用深度加速器的基本步骤如下 首先,访问深度加速器的官方网站或授权下载渠道,下载最新版本的深度加速器客户端。 下载完成后,电脑版直接双击打开免安装,将深度加速器安装到您的计算机或移动设备上。 注册与登录: 打…

OrangePi AI Pro 实测:感受 AI 应用的独特魅力与强大性能

OrangePi AiPro介绍和初始化配置 小寒有话说一、OrangePi AiPro介绍1. 主板详情2. 开发配置3. 镜像烧录4. 设备连接5. WiFi连接6. NVMe SSD的安装和挂载7. 更新下载源并下载必要的软件8. 扩展内存 二、Jupyter Lab AI测评应用案例1. 获取Jupyter Lab 网址链接2. 图像提取文字3.…

python开发prometheus exporter--用于hadoop-yarn监控

首先写python的exporter需要知道Prometheus提供4种类型Metrics 分别是:Counter, Gauge, Summary和Histogram * Counter可以增长,并且在程序重启的时候会被重设为0,常被用于任务个数,总处理时间,错误个数等只增不减的指…

电脑硬盘里的文件能保存多久?电脑硬盘文件突然没了怎么办

在数字化时代,电脑硬盘作为我们存储和访问数据的重要设备,承载着无数珍贵的回忆、工作成果和创意灵感。然而,硬盘里的文件能保存多久?当这些文件突然消失时,我们又该如何应对?本文将深入探讨这两个问题&…

【Python】深入了解`zip()`函数:高效地组合迭代对象

文章目录 1. zip()函数的基本用法2. 处理不同长度的可迭代对象3. 解压缩序列4. 使用zip()处理多个可迭代对象5. 结合for循环使用zip()6. 与字典结合使用7. 处理嵌套结构8. 与*运算符结合使用9. 实际应用示例:合并多个数据源10. 总结 Python中的zip()函数是一个强大且…

71.WEB渗透测试-信息收集- WAF、框架组件识别(11)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:70.WEB渗透测试-信息收集- WAF、框架组件识别(10)-CSDN博客 如果有…

【Python 项目】类鸟群:仿真鸟群

类鸟群:仿真鸟群 仔细观察一群鸟或一群鱼,你会发现,虽然群体由个体生物组成,但该群体作为一个整体似乎有它自己的生命。鸟群中的鸟在移动、飞越和绕过障碍物时,彼此之间相互定位。受到打扰或惊吓时会破坏编队&#xf…

Java核心篇之JVM探秘:对象创建与内存分配机制

系列文章目录 第一章 Java核心篇之JVM探秘:内存模型与管理初探 第二章 Java核心篇之JVM探秘:对象创建与内存分配机制 第三章 Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战:Arthas工具使用及…

窗口比较器的TINA仿真

TINA仿真 LM339比较器是大多数情况下应用的,仿真用的TLV3491只是为了仿真说明问题。 窗口比较器。当被比较的信号电压Uin位于门限电压之间时,输出为高电位。当Uin不在门限电位范围之间时, 输出为低电位,窗口电压△UVS1-VS2。它可用来判断输入…

1.5.1抽象java入门

前言: 1.5.0版本中,我们熟练使用Git三个可视化操作(签出,提交,对比),再加上1.4.0版本的新建,总计使用四个Git可视化操作;对java编程的学习,总结,…

部署一台本机的ai智能模型

部署ai模型 1.打开地址搜 https://ollama.com/(开源ai模型网址)下载软件 2.点击安装具有羊驼图标的文件 3.在右下角查看 羊驼图标 4。打开脚本,执行可以切换羊驼安装的位置与环境变量 5.winR 输入cmd,在命令窗口输入ollama命令 如果安装成功…

算法之工程化内容(2)—— Git常用命令

目录 1. git初始化配置 2. 新建仓库 3. 工作区——>暂存区——>本地仓库 4. git reset回退版本 5. 查看差异 git diff 6. 删除文件git rm 7. .gitignore 8. vscode操作git 9. git分支、合并和删除 10. 解决合并冲突 11. 回退和rebase 12. 添加远程仓库 参考链接&#xff…

Web 性能入门指南-1.5 创建 Web 性能优化文化的最佳实践

最成功的网站都有什么共同点?那就是他们都有很强的网站性能和可用性文化。以下是一些经过验证的有效技巧和最佳实践,可帮助您建立健康、快乐、值得庆祝的性能文化。 创建强大的性能优化文化意味着在你的公司或团队中创建一个如下所示的反馈循环&#xff…

C语言:指针详解(5)

目录 一、sizeof()函数和strlen()函数的对比 1.sizeof()函数 2.strlen()函数 3.sizeof()函数和strlen()函数的对比 二、数组和指针笔试试题解析 1.一维数组 2.字符数组 (1)代码1 (2)代码2 (3)代码…