首页 > 编程语言 > 详细

python 进程

时间:2019-06-18 00:31:57      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:args   def   run   开启   tar   知识   ESS   color   条件   

一、基础知识点

1、同步/异步/阻塞/非阻塞

同步:串行

异步:并行

阻塞:程序运到阻塞input sleep等

非阻塞:

2、进程的执行过程

Redy->Running->Blocked->Ready

二、初始进程

同步

"""
同步
函数和程序的PID一致
"""
import os


def test():
    print(Hello World!)
    print(How are you?)
    print(函数的PID %s % os.getpid())


test()
print(fine)
print(这个程序的PID %s % os.getpid())
"""
Hello World!
How are you?
函数的PID 260
fine
这个程序的PID 260
"""
# 异步
# 将函数变成子进程
from multiprocessing import Process


def test():
    print(Hello, World!)
    print(I like money......)


# Windows系统执行进程必要条件
if __name__ == __main__:
    p = Process(target=test)    # 注册(实例化对象)
    p.start()   # 开启子进程 进程的执行:Ready->Running->Block->Ready
    print(abc)
"""
结果:
abc
Hello, World!
I like money......
"""
# 异步,进程
# 查看进程的子进程
from multiprocessing import Process
import os
import time


def test():
    print(你好)
    print(子进程的PID:%s % os.getpid())


if __name__ == __main__:
    p = Process(target=test)
    p.start()
    print(How are you?)
    time.sleep(5)   # 子进程执行完后,再执行下面的语句
    print(父进程的PID:%s % os.getpid())

"""
结果:
How are you?
你好
子进程的PID:13852
父进程的PID:8180
"""
"""
传递参数
查看子进程,子进程的父进程
查看父进程,父进程的父进程
"""
from multiprocessing import Process
import os


def test(args):
    print(Are you ok? 演唱者: {}.format(args))
    print(子进程的PID: %s % os.getpid())
    print(子进程的父进程的PID: %s % os.getppid())


if __name__ == __main__:
    p = Process(target=test, args=(雷军, ))     # 传递参数,args=tuple
    p.start()
    print(父进程的PID: %s % os.getpid())
    print(父进程的父进程: {}.format(os.getppid()))
"""
结果:
父进程的PID: 13568
父进程的父进程: 3352
Are you ok? 演唱者: 雷军
子进程的PID: 6148
子进程的父进程的PID: 13568
"""

 

python 进程

标签:args   def   run   开启   tar   知识   ESS   color   条件   

原文:https://www.cnblogs.com/wt7018/p/11042642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号