什么叫进程什么叫线程

线程,进程和程序的区别

嗨,这......看起来有点复杂......让我解释一下。

1 .嗯...一个进程...它可以有多个线程。
就像2 02 2 年我在北京时一样,共享单车应用程序只是一个过程。
它需要有多个线程来做某事。
一个负责接单,一个负责发单,不是吗?但是,线程...它停留在进程中并且无法自行运行。
就像你租的房子一样,一栋房子可以几个人住,但一个人不能同时租两栋房子住。

2 流程是怎样的?它是资源分配系统的基本单位。
2 02 3 年,在上海,一家公司购买服务器时,系统需要给该公司分配一个进程,并给他分配内存、CPU等。
纱线呢?它是CPU调度的基本单位。
就像共享单车应用一样,CPU在那里切换,允许哪些线程先工作,哪些线程后工作。
这就是调度。
此外,所有网络都共享自己进程中的所有内容,包括代码和数据。
就像应用程序一样,无论是接收单个线程还是发送单个线程,您都可以看到并使用应用程序的整个代码和数据。

3 线程似乎相对容易运行、相互协作和同步。
我后来才意识到。
可能之前我有点极端,觉得有点麻烦。
但过程又如何呢?如果想要进程间同步,就得下功夫,使用消息通信。
例如,2 02 1 年,我正在做一个项目,有两个团队,一个做前端,一个做后端。
他们必须发送消息互相询问并等待对方,这使得效率降低。

4 线程划分规模较小。
比进程小。
所以竞争很大。
这意味着什么?只是同时做很多事情。
例如,2 02 2 年,我开了一个电子商务网站。
用户来到商店(一个线程),订单在后台处理(另一个线程),也可以处理付款(另一个线程)。
这些都可以同时运行,这意味着高并发。

5 线程共享进程数据,我知道这一点。
但!它有自己的个人安排!是的,这是一个私有堆栈。
当每个线程运行时,它自己的局部变量等都被放置在它们自己的私有堆栈上。
这一点非常重要,不然就乱了。

6 线程不能单独执行...这似乎是肯定的。
它需要在进程中运行。
但!每个线程都有独立的入口、执行顺序和程序出口。
就像你玩游戏一样,游戏是一个过程,其中可能有角色A和角色B,每个角色都是一个线程。
他们有自己的行动顺序:开始、完成和失败。
一定是在游戏过程中让你控制角色A或者角色B进行战斗。

嗯...就是这样...我有点冗长...也许不清楚...