什么是进程?什么是线程?使用多线程有什么优点?

通俗地讲,可以将一个正在操作系统中运行的exe程序理解成一个进程。通过查看“windows 任务管理器”中的列表,完全可以将运行在内存中的exe文件理解成一个进程,进程是受操作系统管理的基本运行单元。
任务管理器在这里插入图片描述那什么是线程呢?线程可以理解成是在进程中独立运行的子任务。比如QQ.exe运行时就有很多的子任务在同时运行。在比如,好友视频,下载文件,传输数据,发送表单线程等,这些不同的任务在宏观上说都可以同时运行,其中每一项任务完全可以理解成是“线程”在工作。
这样做有什么优点呢?更具体来讲,使用多线程有什么优点呢?其实他最大的优点是可以最大限度的利用cpu的空闲时间来处理其他业务,比如一边让操作系统处理正在由打印机打印的数据,一边使用word文档编辑文档。cpu在这些任务之间不停地切换,由于切换的速度非常快,给使用者的感受就是这些任务似乎在同时运行。所以在使用多线程技术后,可以在同一时间内运行更多不同种类的任务。
下面用更官方的话来解释一下:
线程只能归属于一个进程并且它只能访问该进程所拥有的资源。当操作系统创建一个进程后,该进程会自动申请一个名为主线程或首要线程的线程。
进程并不是真正意义上的同时运行,而是并发运行。
一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程的区别在于每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用来实现进程的调度和管理以及资源分配。
多个线程或进程”同时”运行只是感官上的一种表现。事实上进程和线程是并发运行的,OS的线程调度机制将时间划分为很多时间片段(时间片),尽可能均匀分配给正在运行的程序,获取CPU时间片的线程或进程得以被执行,其他则等待。而CPU则在这些进程或线程上来回切换运行。微观上所有进程和线程是走走停停的,宏观上都在运行,这种都运行的现象叫并发,但是不是绝对意义上的“同时发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想落天外X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值