多进程与多线程、并行与并发、同步与异步、Socket的理解

多进程与多线程

  • 多进程:多进程可实现同一时间点多个任务并行。如:电脑同时运行多个程序,比如同时运行qq和微信,qq和微信就是两个不同的进程
  • 多线程: 一个应用程序中有多个执行部分可同时执行,同一时间完成多项任务,以提高资源使用效率。如:QQ软件可同时实现播放音效、消息发送等功能

比较:
在这里插入图片描述
参考链接:https://blog.csdn.net/hairetz/article/details/4281931.

并行与并发

  • 并行处理(Parallel Processing):是计算机系统中能同时执行两个或更多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型和复杂问题的解决时间。
  • 并发处理(concurrency Processing):指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机(CPU)上运行,但任一个时刻点上只有一个程序在处理机(CPU)上运行
  • 并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有同时处理多个任务的能力。所以说,并行是并发的子集
    图解:
    在这里插入图片描述

同步与异步

  • 同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。
  • 异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
  • 举个例子,打电话时就是同步通信,发短息时就是异步通信

Socket的理解

参照网上一些大佬的理解,在这里做一个总结:

  • socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
  • socket是位于两个层面中间的一个参与者,服务于两方,http是应用层协议,解决如何包装数据,TCP/IP协议是传输层协议,主要解决数据怎么在网络中传输,一个网络协议 + 一个ip + 一个端口号,就组成了一个socket

图解:
在这里插入图片描述
参考链接:https://www.cnblogs.com/eleclsc/p/5812060.html.

  • 看到一个很形象的比喻:这里有一台电脑(server),一个耳机(client),一个u盘(clinet),一个鼠标(client),socket就可以想象成笔记本电脑上的usb接口、音频接口,耳机需要连接到电脑听歌,需要用到音频接口,u盘需要链接电脑拷贝资料,需要用到usb接口,鼠标需要链接电脑才可以操作系统光标,需要用到usb接口,socket就负责帮助这些外接设备找到笔记本电脑中相对应的驱动以便他们完成自己的工作,而对于电脑而言,要利用U盘、利用耳机、利用鼠标也需要有对应的插口(socket)支持。
  • 原文链接: https://blog.csdn.net/EJEEMT/article/details/90212312.
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值