码迷,mamicode.com
首页 > 编程语言 > 详细

进程、线程、协程、进程池

时间:2020-07-08 09:16:03      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:协程   竞争   一个   开始   检测   电脑   他也   工作原理   状态   

线程

一个人,他有三个思想。第一个思想是做饭,第二个思想是烧水,第三个思想是洗衣服。这三个思想就是三个线程。

一个人不能同时干三件事。这三个线程具有竞争性,谁赢了这个人就先做这件事。

比如做饭这个线程赢了,这个人就先做饭,做完饭后洗衣服这个线程赢了,这个人接着就洗衣服。。。

进程

有10个人,每个人都能干一件事,一个人工作就叫一个进程。10个人同时工作就叫10个进程。电脑内核有几核就可以最大开几个进程。

因此,一个进程可以有多个线程,一个进程也可以有多个协程。

协程

一个人,他有三个思想。第一个思想是做饭,第二个思想是烧水,第三个思想是洗衣服。这三个思想就是三个协程。

同样他也不能同时干三件事。协程与线程的区别就是这三个协程没有竞争性。这个人在做事之前协程就已经安排好了先做某件事再做某件事。

协程比线程好。

进程池

假如一个池子里可以有8个进程同时工作。一共有100个进程。进程池有一个while死循环,用来检测池子里的进程的状态码是否是完成的状态,如果是完成的状态,那么就把完成的进程移出池子,然后再把新的进程移进来,使得池子里一直保持8个状态为工作中的进程。开始工作时,前8个进程进入进程池工作,当某个进程完成后,它的状态码会变为完成。当死循环检测到这个进程的状态是完成的时候,池子就会移出这个进程,然后让新的进程进来工作。这就是进程池的工作原理。

进程、线程、协程、进程池

标签:协程   竞争   一个   开始   检测   电脑   他也   工作原理   状态   

原文地址:https://www.cnblogs.com/weifeng1998/p/13264570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!