美文网首页
python里的进程,线程

python里的进程,线程

作者: LeeRich | 来源:发表于2017-08-05 09:43 被阅读7次

    多任务

    多核CPU:操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。

    单核CPU:过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的。作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去。表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像所有任务都在同时执行一样。

    真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。

    一个任务就是一个进程(Process)

    一个进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。

    多任务的实现有3种方式:

    多进程模式;

    多线程模式;

    多进程+多线程模式。

    线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。

    相关文章

      网友评论

          本文标题:python里的进程,线程

          本文链接:https://www.haomeiwen.com/subject/mcsilxtx.html