网络技术相关知识概念

news2024/11/15 21:52:52

网络技术:

进程(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.coloradmin.cn/o/1925973.html

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

相关文章

6、evil box one

低—>中 目标:获取root权限以及2个flag 主机发现 靶机 192.168.1100.40 或者使用fping -gaq 192.168.100.1/24发现主机使用ping的方式。 端口扫描 发现开放了22和80 可以使用-A参数,-A参数会得到更多的扫描细节 访问80端口就是一个apache的基本的…

微服务-注册中心

一. 分布式系统架构与微服务 分布式系统架构和微服务是现代软件开发中常见的两种概念,它们通常结合使用来构建灵活、可扩展和高效的应用程序。 分布式系统架构: 分布式系统架构是指将一个单一的应用程序或服务拆分成多个独立的部分,这些部分…

讲讲 JVM 的内存结构(附上Demo讲解)

讲讲 JVM 的内存结构 什么是 JVM 内存结构?线程私有程序计数器​虚拟机栈本地方法栈 线程共享堆​方法区​注意永久代​元空间​运行时常量池​直接内存​ 代码详解 什么是 JVM 内存结构? JVM内存结构分为5大区域,程序计数器、虚拟机栈、本地…

50、haproxy+keepalive+nginx

keepalivehaproxy 客户端:192.168.168.21haproxy1:192.168.168.43haproxy2:192.168.168.44vip:192.168.168.100nginx1:192.168.168.31nginx2:192.168.168.32haproxykeepalive做高可用nginx做后台haproxy1haproxy2一起操作&#x…

实验发现AI提高了个人创造力,但降低了整体创造力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

从链表中移除在数组中存在的节点 | 力扣题解

⭐简单说两句⭐ ✨ 正在努力的小叮当~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &a…

【自监督学习】iBOT in ICLR 2022

一、引言 论文: iBOT🤖: Image BERT Pre-Training with Online Tokenizer 作者: ByteDance 代码: iBOT 注意: 该方法是在另一个自监督预训练方法基础上的改进,学习之前建议掌握DINO。 特点: 对…

数据结构之初始二叉树(1)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 树型结构 树的概念 与树的有关概念 树的表示形式 树的应用 二叉树 概念 两种特殊的…

MFC流的形式读取图片

1.基于对话框布置控件 2.给控件绑定变量 3.给按钮控件添加响应函数 void CMFC流的形式读取图片Dlg::OnBnClickedButton1() {// TODO: 在此添加控件通知处理程序代码//HDC mECGDC; // 设备描述表句柄//CPen mECGDrawPen; // ECG波形画笔//RECT mECGRect; // 在该矩形区域内画…

Three.js相机简明教程

相机校准是 3D 计算机图形学中的一个基本概念,涉及设置虚拟相机以模拟真实世界相机的视角和行为。在 Three.js(一种流行的 3D 渲染 JavaScript 库)中,了解相机校准对于创建逼真且身临其境的 3D 场景至关重要。在本文中&#xff0c…

AIGC是什么,与AI绘画有什么关系,一篇文章带你了解AI绘画的前世今生

在讲解AIGC和AI绘画之前,我们先看看什么是AI以及AI的历史。 AI历史发展轨迹 什么是人工智能 人工智能(Artificial intelligence,简称AI)亦称机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指用普通计算机程序来呈现人类智…

ConfigMap-secrets-静态pod

一.ConfigMap 1.概述 ConfigMap资源,简称CM资源,它生成的键值对数据,存储在ETCD数据库中 应用场景:主要是对应用程序的配置 pod通过env变量引入ConfigMap,或者通过数据卷挂载volume的方式引入ConfigMap资源 官方解释…

成为git砖家(1): author 和 committer 的区别

大家好,我是白鱼。一直对 git author 和 committer 不太了解, 今天通过 cherry-pick 的例子搞清楚了区别。 原理 例如我克隆了著名开源项目 spdlog 的源码, 根据某个历史 commit A 创建了分支, 然后 cherry-pick 了这个 commit …

240710_昇思学习打卡-Day22-条件随机场

240710_昇思学习打卡-Day22-条件随机场 在正式开始LSTMCRF序列标注之前,我们先来了解一下条件随机场,以下仅做简单介绍。 CRF全称Conditional Random Field,按照名字来理解,条件随机,随机输入,条件输出。…

vue中父子传递属性值

1、父传子属性值 自定义图库组件 在add.vue中应用tuku组件并给默认值 效果 2、 子传父,逆向赋值 add.vue和第一问中一样 修改tuku组件,传值给add.vue 3、多个传递 效果: 点击两个修改按钮后 4、使用defineModel简化父子传值 其他代码跟…

使用Tkinter库设计实现的中小学校疫情防控入校人员登记检测系统

Tkinter简介 Tkinter是Python标准库中用于GUI图形用户界面开发的工具包,它是基于Tcl/Tk的封装,提供了大量预定义的控件,如按钮、文本框、标签等,非常适合快速原型开发和小型应用的构建。本文将通过一个具体的案例——“中小学校疫…

【java】力扣 合并k个升序链表

文章目录 题目链接题目描述思路代码 题目链接 23.合并k个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表 思路 我在这个题里面用到了PriorityQueue(优先队列) 的知识 Prio…

鸿蒙语言基础类库:【@system.app (应用上下文)】

应用上下文 说明: 从API Version 7 开始,该接口不再维护,推荐使用新接口。本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import app from system.app;app.getInfo …

MFC之对话框--重绘元文件

文章目录 实现示例展示需要绘制的窗口/位置控件位置更新下一次示例粗细滑动部分更新 重绘元文件(窗口变化内容消失)方法一:使用元文件方法二:兼容设备方法三:使用自定义类存储绘图数据除画笔外功能处理画笔功能处理 保…

【雷达原理】MIMO雷达技术

一、MIMO雷达原理 1.1 基本概念 多输入多输出(Multiple input multiple output,MIMO)雷达指该雷达具有多个发射天线和多个接收天线。 学术界对 MIMO 雷达的定义中,多输入是指同时发射多种雷达信号波形( 一般是多个天线同时发射不同的波形) ,…