进程与线程的区别与联系

目录

进程

线程

1.进程池

2.使用线程

使用线程的好处

为啥线程要比进程轻量呢?

线程与进程的区别与联系


进程

上节我们写了有关进程的相关知识,这节我们来说下线程及他与进程的区别与联系,有没看过的可以先点击链接跳转

Java 进程_Xiillldddd的博客-CSDN博客

线程

什么是线程呢?

首先面对这个问题我们先来说说进程是用来干啥的?

答案是因为现在的系统支持多任务了,而程序员自然也需要“并发编程”,当我们通过进程自然而然可以实现并发编程,但是存在一个小问题,就是我们需要不断地创建/销毁进程,而这些步骤的开销是非常大的,而频繁调度进程,这个事情的成本也很高,那么,怎么办呢?

接下来有两种方法供我们选择

1.进程池

进程池虽然能解决上述问题,并且提高效率,但是,这也存在问题,就是池子里的闲置进程,不使用的时候也在消耗资源,并且消耗资源很多,那么我们只能考虑第二个办法了,那就是使用线程来实现并发编程。

2.使用线程

线程比进程更加轻量, 每个进程实现一个任务,每个线程也能执行一个任务,也能够实现并发编程。

使用线程的好处

1.创建线程的成本比创建进程的成本低好多。

2.销毁线程的成本也比销毁进程的成本低很多。

3.调度线程的成本也比调度进程的成本低很多

总的来说,线程就像是轻量级的进程,而在Linux上也把线程称为轻量级进程。

为啥线程要比进程轻量呢?

首先我们来想想,进程重在哪呢? 进程重在资源的申请和释放(就像是在偌大的仓库里找东西)

而线程是包含在进程中的,一个进程能拥有多个线程,共享一份资源,当我们在进程中创建线程的时候,只是第一份线程成本相对较高,后续当我们再在这个进程中创建线程的时候,这个时候成本都是要更低一些,不必再分配资源了。

那接下来,我们进入主题,来谈谈并总结线程与进程的区别与联系!!

线程与进程的区别与联系

1.进程里面包含线程,一个进程可以有多个线程,也可以只有一个线程。

2.进程和线程都是为了处理并发编程这样的场景。但是进程存在创建销毁调度消耗资源比较大的问题,相比之下,线程更加轻便,效率更加的搞。

3.操作系统创建进程要给他分配资源,进程是操作系统调度执行的基本单位。

4.进程具有独立性,每个进程有各自的虚拟空间,彼此之间不会相互影响,但是一个进程中有多个线程公用一个内存空间,当一个线程出现问题,其他的线程很大可能受到影响,甚至导致整个进程崩溃。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值