(四十二)什么是线程?它与进程有什么区别?为什么要使用多线程

关系: 

区别: 

 

 

线程:又称为“轻量级进程”,是操作系统能够进行运算调度的最小单位,被包含在进程中,是进程中实际运行单位。

进程:系统进行资源分配和调度的基本单位。

进程与线程区别:

  • 进程是资源分配的最小单位,线程是程序执行的最小单位
  • 进程创建与切换:进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,创建一个线程的开销也比进程要小很多,CPU切换一个线程的花费远比进程要小很多。
  • 线程通信:线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。
  • 进程死掉与线程死掉区别:但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。

线程好处:

①使用线程可以减少程序的响应时间。

单线程:程序执行过程中只有一个有效操作的序列,不同操作之间都有明确的执行先后顺序。

如果某个操作很耗时或陷入长时间的等待(如等待网络响应),此时程序将不会响应鼠标和键盘灯操作。

使用多线程后,可以把这个耗时的线程分配到一个单独的线程去执行,从而使程序具备了更好的交互性。

②与进程相比,线程的创建和切换开销更小

线程共享代码段、数据段,线程的启动或切换的开销比进程要少很多。

③多CPU或多核计算机本身就具有执行多线程的能力

④使用多线程能简化程序的结构,使程序便于理解和维护。一个非常复杂的进程可以分成多个线程来执行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值