进程与线程的区别和联系以及优缺点

什么是线程?

-在一个程序里的一个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的控制序列”。

-一切进程至少都有一个执行线程

-线程也被叫做轻量级进程

什么是进程?

-进程是程序的一个执行的实例。

-进程是正在执行的程序。

-进程是能分配处理器并由处理器执行的实体。

进程和线程

-进程是资源竞争的基本单位

-线程是程序执行的最小单位

联系:进程和线程都是操作系统所运行的程序运行的基本单元。

区别:

-进程具有独立的空间地址,一个进程崩溃后,在保护模式下不会对其他进程产生影响。

-线程只是一个进程的不同执行路径,线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。

进程的优点:

提供了多道编程,提高计算机CPU的利用率。多道编程的理解:可以将多个进程同时加载到内存中,在操作系统的调度下,可以实现并发的执行。这样就可以提供了CPU的利用率。

进程的缺点:

-进程只能在一个时间内执行一件事,如果想执行多件事,进程就无能为力了。

-进程在执行的过程中如果堵塞,例如等待用户输入信息,整个进程就会挂起,即使进程中有些工作不依赖输入的数据,也将无法执行。

线程的优点:

-创建一个新线程的代价要比创建一个新进程小的多

-与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多

-线程占用的资源要比进程少很多

-能充分利用多处理器的可并行数量

-在等待慢速I/O操作结束的同时,程序可执行其他的计算任务

-计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现

-I/O密集型应用,为了提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作

线程的缺点:

-性能损失

-健壮性降低

-缺乏访问控制

-编程难度提高

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值