多任务原理

Posted xuefyre

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多任务原理相关的知识,希望对你有一定的参考价值。

调度算法

1.时间片轮转(相当于时分复用)

2.优先级调度


并发:任务数量大于cpu核心数量(看起来像是同时进行,需要调度)

并行:任务数量小于cpu核心数量(真正同时进行,所有任务不需要调度)


程序:可运行的文件(代码),还没运行

进程:正在运行的程序(代码)


 fork一般不用

windows下os模块没有fork方法

fork炸弹,无限循环调用fork()

fork方法主进程运行完会先结束,但是不会结束子进程.


 

用的较多的创建多任务的函数是Pool中的apply_async(函数名,此函数的参数元组类型)


 

 进程间通信使用Queue()通信,一个管道不要使用多次,比如一个管道向两个进程通信的话,某个数据a进程拿到了b进程就拿不到了


 

使用threading同时(几乎同时)指向一个函数时

每个线程会独立为函数开辟内存空间,两个线程中的局部变量互不影响.

 

以上是关于多任务原理的主要内容,如果未能解决你的问题,请参考以下文章

进程线程和协程

20cpu多任务原理

多任务原理

多任务卡片动画实现原理

安卓多任务实现的基本原理

py进程