py进程

Posted ioswws

tags:

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

"""
现代操作系统(window,mac os,linux) 都支持多任务

什么叫多任务?
操作系统可以同时运行多个任务。

单核cpu实现多任务原理: 操作系统轮流让各个任务交替执行,例如:QQ执行2ms,切换到WX再执行2ms,
表面上看每个任务反复执行下去,但是cpu调度执行速度太快了,导致我们感觉所有的的任务都在同时执行。

多核cpu实现多任务原理: 真正的并行执行多任务只能在多核cpu上实现,但是由于任务数量远远多于cpu的核心数量,
所以操作系统也会自动把很多任务轮流调度到每个核心上执行。
并发: 看上去一起执行,任务数多于cpu核心数。
并行: 真正的一起执行,任务数小于等于cpu核心数。

实现多任务的方式有哪些:
1.多进程模式
2.多线程模式
3.协程模式
4.多进程+多线程模式

对于操作系统而言,一个任务就是一个进程

进程是系统中程序执行和资源分配的基本单位,每个进程都有自己的数据段,代码段,堆栈段。
"""

"""
multiprocessing 库
跨平台版本多进程模块,提供一个Process类来代表一个进程对象
"""

from multiprocessing import Process
from time import sleep
import os


def run(sss):
while True:
# os.getpid() 打印当前进程id
# os.getppid() 打印当前进程的父进程id
print("hello %s --- %s --- %s" % (sss, os.getpid(), os.getppid()))
sleep(2)


if __name__ == ‘__main__‘:
print("主进程启动 --- %s" % os.getpid())

# 创建一个进程
# target进程执行的任务
p = Process(target=run, args=("lbc",))

# 启动进程
p.start()

while True:
print("hello wws --- %s" % os.getpid())
sleep(1)





























以上是关于py进程的主要内容,如果未能解决你的问题,请参考以下文章

celery 基础教程:守护进程

py知识(每日更新) 7.24

使用多处理时加入进程是不是有顺序规则?

如何在 Views.py 中运行子进程——Django

启动一个完全独立的进程

py线程