进程和线程
进程
是操作系统为应用程序资源分配的最小单位,有时一个应用程序可能需要多个进程,一个进程至少有一个主线程
线程
是操作系统对应用程序执行和调度的最小单位
例子:打开一个听歌软件,就是一个进程,其中播放、下载功能就是两个线程
区别
当我们对资源的保护管理要求比较高的时候,建议使用多进程,当然存在的开销也比较大,反过来,如果频繁切换下,对资源的保护管理要求不那么高,或者开销有限的时候,使用多线程会比较方便。
比较
- 调度
- 同一个进程中,一个线程的切换不会引起进程的切换
- 一个进程的线程,切换到另一个线程的进程,会引起进程的切换
- 并发
- 进程可以并发执行,一个进程中的线程也可以并发执行
- 拥有的资源
- 一般来说,线程不会拥有自己的资源,但是它可以访问自己进程中的资源。比如,一个进程打开的文件,进程的其他的线程可以共享