PYTHON

多进程

2018-07-11  本文已影响22人  LoseDemon

多进程
进程的实现:
1、需要继承multiprocessing模块中Process类
2、重写run方法,run方法就是我们要执行进程代码

1、多任务的实现:
1、什么是多任务:
IT系统,同时完成多项任务处理,这个同时指的是同一段时间内,而不是同一瞬时。
多任务处理是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务.Linux、windows就是支持多任务的操作系统,比起单任务系统它的功能增强了许多。
当多任务操作系统使用某种任务调度策略允许两个或更多进程并发共享一个处理器时,事实上处理器在某一时刻只会给一件任务提供服务。因为任务调度机制保证不同任务之间的切换速度十分迅速,因此给人多个任务同时运行的错觉。多任务系统中有3个功能单位:任务、进程和线程。

2、多进程:
3、什么是进程?
4、python实现进程os
    os.fork()
    os.getpid()
    os.getppid()
5、多任务的实现
    多任务的实现有三种方式:
        1、多进程模式
        2、多线程模式
        3、多进程+多线程模式

2、操作系统是典型的多任务的实现:
1、时间片轮换机制
2、优先级别调度
3、操作系统多任务
1、多进程
2、多线程
4、进程(process):
1、进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位
processID进程编号
5、进程的数据的共享问题
6、主进程和子进程的指向顺序问题
7、多个fork问题
8、multiprocessing模块的使用

在多进程中,全局变量是独自占有一份的。进程之间是无法共享数据的,多个进程间,每个进程的所有数据(包括全局变量)都是各自拥有一份的,互不影响。

无法跨平台 os.fork()只在Linux, windows
multiprocessing python为大家提供一个跨平台的多进程实现模块

os
os.path

进程池:pool
apply_async()
apply()

本地进程间的通信问题:
队列
管道
管理器
队列:
queue.get()
queue.put()
queue.qsize()
queue.get_nowait()
queue.put_nowait()
queue.full()
queue.empty()
queue.maxsize()i

上一篇下一篇

猜你喜欢

热点阅读