进程和线程的区别

进程和线程的区别
进程能够完成多任务,比如在一台计算机上 可以同时登陆运行很多个qq,只要计算机的运存足够大。

线程也能够完成多任务,比如,在一个qq中可以同时与多人聊天,开启多个聊天窗口。

定义的不同
但是他们的定义是有区别的,进程是系统进行资源分配和调度的一个独立单位。而线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,但是他可以与同属于一个进程的其他线程共享进程所拥有的全部资源。

区别
一个线程至少有一个进程,一个进程至少有一个线程,线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高,进程在执行过程中拥有独立的存储单元,而多个线程共享存储器,从而极大的提高了程序的运行效率

线程不能够独立执行,必须依存在进程中。

优缺点
线程和进程在使用上各有优缺点:线程执行开销小(占用的资源非常少)但是不利于资源的管理和保护:而进程正好相反,执行额开销比较大(占用的资源多),但是利于资源的管理和保护。

如何选择
如果需要共享数据,建议使用线程。

计算密集型 和 IO密集型
计算密集型:
1、视频的译码、编码
2、科学数据计算
工作需要依赖CPU,多使用进程,建议进程的数量就等于CPU的数量

IO密集型:
1、Web
2、档读写
IO经常阻塞,速度远远小于CPU的运行速度,可以多开辟一些线程,有线程阻塞了,其他线程依然正常工作。

转载于:https://www.cnblogs.com/chen-jun552/p/11607978.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值