栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python进程

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python进程

from multiprocessing import Process

'''
def test(i):
    print("我是子程序"+str(i))
def main():
    print("主程序开始")
    p=Process(target=test,args=(1,))          #args是参数元组,kwargs是子典参数
    p.start()
    print("主程序结束")
if __name__=="__main__":
    main()

import time
import os
def child1(i):
    print("子类进程(%s)开始,父类进程为(%s)"%(os.getpid(),os.getppid()))
    t_start=time.time()
    time.sleep(i)
    t_end=time.time()
    print("子程序(%s)执行时间为'%0.2f'秒"%(os.getpid(),t_end-t_start))
def child2(i):
    print("子类进程(%s)开始,父类进程为(%s)" % (os.getpid(), os.getppid()))
    t_start = time.time()
    time.sleep(i)
    t_end = time.time()
    print("子程序(%s)执行时间为'%0.2f'秒" % (os.getpid(), t_end - t_start))
if __name__=="__main__":
    print("_____parent process start________")
    print("parent process PID:%s"%os.getpid())
    p1=Process(target=child1,args=(1,))
    p2=Process(target=child2,name="mrsoft",args=(2,))
    p1.start()
    p2.start()
    print("p1.is_alive=%s"%p1.is_alive())
    print("p2.is_alive=%s"%p2.is_alive())
    print("p1.name=%s"%p1.name)
    print("p1.pid=%s"%p1.pid)
    print("p2.name=%s" % p2.name)
    print("p2.pid=%s" % p2.pid)
    print("_______waiting son process_______")
    p1.join()
    p2.join()           #没有join将在父类程序运行完后运行子程序
    print("_________parent process end________")

import time
import os
class SubProcess(Process):
    def __init__(self,i,name=''):
        Process.__init__(self)            #需要调用Process的__init__,否则无法初始化
        self.interval=i
        if name:
            self.name=name
    def run(self):
        print("son process (%s)start,parent process is(%s)"%(os.getpid(),os.getppid()))
        t_start = time.time()
        time.sleep(self.interval)
        t_end = time.time()
        print("子程序(%s)执行时间为'%0.2f'秒" % (os.getpid(), t_end - t_start))
if __name__=="__main__":
    print("_____parent process start________")
    print("parent process PID:%s"%os.getpid())
    p1=SubProcess(i=1,name="mrsoft")
    p2=SubProcess(i=2)
    p1.start()
    p2.start()
    print("p1.is_alive=%s"%p1.is_alive())
    print("p2.is_alive=%s"%p2.is_alive())
    print("p1.name=%s"%p1.name)
    print("p1.pid=%s"%p1.pid)
    print("p2.name=%s" % p2.name)
    print("p2.pid=%s" % p2.pid)
    print("_______waiting son process_______")
    p1.join()
    p2.join()           #没有join将在父类程序运行完后运行子程序
    print("_________parent process end________")

from multiprocessing import Pool
import os,time
def task(name):
    print("son process(%s) form task%s..."%(os.getpid(),name))
    time.sleep(1)
if __name__=="__main__":
    print("parent process(%s)."%os.getpid())
    p=Pool(3)
    for i in range(10):
        p.apply_async(task,args=(i,))
    print("waiting all son process end")
    p.close()
    p.join()
    print("all son process end")
'''
def plus():
    print("------process1 start--------")
    global g_num
    g_num+=50
    print("g_num is %s"%g_num)
    print("-------process1 end---------")
def minus():
    print("------process2 start--------")
    global g_num
    g_num-=50
    print("g_num is %s"%g_num)
    print("------process2 end--------")
g_num=100
if __name__=="__main__":
    print("------main process start--------")
    print("g_num is %s"%g_num)
    p1=Process(target=plus())
    p2=Process(target=minus())
    p1.start()
    p2.start()
    p1.join()
    p2.join()
    print("main process end")
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/499277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号