进程、线程和协程三者有何本质差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2193个文字,预计阅读时间需要9分钟。
什么是进程和线程?基础的小朋友们都知道进程和线程。进程是什么呢?简单地说,进程就是应用程序的启动实例。比如我们运行一个游戏,打开一个软件,这些都是在启动一个进程。线程是进程内的一个执行单元,可以看作是进程的工作线程。一个进程可以包含多个线程,它们可以同时执行不同的任务。
什么是进程和线程
有一定基础的小伙伴们肯定都知道进程和线程。
进程是什么呢?
直白地讲,进程就是应用程序的启动实例。比如我们运行一个游戏,打开一个软件,就是开启了一个进程。
进程拥有代码和打开的文件资源、数据资源、独立的内存空间。
有人会认为,要提升CPU的利用率,可以开多个进程,但是开多个进程的话,进程间通讯是个比较麻烦的事情(进程之间地址空间是独立的,需要通过其他方式,例如:管道来解决)
相反,线程之间是可以实现数据共享的,因为线程之间使用的是同一个地址空间。
线程又是什么呢?
线程又叫做轻量级进程,是CPU调度的最小单位,线程从属于进程,是程序的实际执行者。
一个进程至少包含一个主线程,也可以有更多的子线程。
本文共计2193个文字,预计阅读时间需要9分钟。
什么是进程和线程?基础的小朋友们都知道进程和线程。进程是什么呢?简单地说,进程就是应用程序的启动实例。比如我们运行一个游戏,打开一个软件,这些都是在启动一个进程。线程是进程内的一个执行单元,可以看作是进程的工作线程。一个进程可以包含多个线程,它们可以同时执行不同的任务。
什么是进程和线程
有一定基础的小伙伴们肯定都知道进程和线程。
进程是什么呢?
直白地讲,进程就是应用程序的启动实例。比如我们运行一个游戏,打开一个软件,就是开启了一个进程。
进程拥有代码和打开的文件资源、数据资源、独立的内存空间。
有人会认为,要提升CPU的利用率,可以开多个进程,但是开多个进程的话,进程间通讯是个比较麻烦的事情(进程之间地址空间是独立的,需要通过其他方式,例如:管道来解决)
相反,线程之间是可以实现数据共享的,因为线程之间使用的是同一个地址空间。
线程又是什么呢?
线程又叫做轻量级进程,是CPU调度的最小单位,线程从属于进程,是程序的实际执行者。
一个进程至少包含一个主线程,也可以有更多的子线程。

