多线程和多进程

多线程和多进程

一、. 并发和并行
(1)并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生
(2)并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
并行:指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。
在这里插入图片描述
并发:指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。
在这里插入图片描述

二、多线程和多进程的优缺点:

  • 多线程
    1、多线程的优点:
    (1)所有线程可以直接共享内存和变量,线程之间的通信变得容易。
    (2)线程方式消耗的总资源比京城方式少
    2、多线程缺点:
    (1)程序逻辑和控制方式复杂
    (2)线程之间的同步和加锁比较麻烦
    (3)一个线程奔溃可能影响到整个程序的稳定性

  • 多进程
    1、多进程优点:
    (1)每个进程都相互独立,不影响程序的稳定性,子进程崩溃,主程序受到影响比较小。
    (2)通过增加cpu,可以轻松扩展性能。
    (3)每个子进程都有2GB地址空间和相关资源,总体性能能够达到的上限非常大。
    2、多进程的缺点:
    (1)逻辑控制复杂,需要和主程序交互。—进程之间通信是非常困难的
    (2)如果有大量数据传输,需要跨进程边界,适合小数量数据传送的程序。

多进程和多线程如何选择:
在实际开发中,选择多线程还是多进程,应该从具体实际开发来进行选择,最好是多进程和多线程结合,即根据实际的需求,每个cpu开启一个子进程,这个子进程开启多个线程进行数据处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值