python进程的参数传递方式与全局变量的处理

#导入模块
import multiprocessing
import os
import time
#定义全局变量
g_num =0
#定义函数1
def work_1():
    global g_num
    for i in range(10):
        g_num +=1
    print("函数体1中的值",g_num,"函数体1的PID是: ",multiprocessing.current_process().pid,os.getppid())
#定义函数2
def work_2():
    #进程间不能共享全局变量
    print("函数体2中的g_num值是:",g_num)
#定义创建两个进程
mult_work1=multiprocessing.Process(target=work_1)
mult_work2=multiprocessing.Process(target=work_2)
mult_work1.start()
mult_work2.start()
time.sleep(4)

print("最后的值是:",g_num,os.getppid(),"pid:", os.getpid())



"""
1-导入任务模块
2-创建进程
-启动进程

"""
import multiprocessing
import time
import os

def work_1(a,b,c,hao,hui):
    for i in range(10):
        #                       子进程
        print("字典传递....", hao , hui, "...简单任务进程处理",multiprocessing.current_process(),"通过os模块获取",os.getpid(),"获取父ID",os.getppid())
        print("参数传递中.....",a,b,c,multiprocessing.current_process().pid,"......")
        time.sleep(1)

if __name__ == '__main__':
    # 获取当前主进程
    #可传递元组
    #可传递字典数据
    #可混合元组字典组合
    print("主进程编号",multiprocessing.current_process().pid)
    # 创建进程
    #name子进程名称
    #获取进程编号(process id  PID) .pid
    mult_1 = multiprocessing.Process(target=work_1,name="p1",args=(100,10,1000),kwargs={"hao":"nai","hui":"tou"})


    # 启动进程
    mult_1.start()


标签: python基础
  • blogger

版权所有:oldboy ---- 《python进程的参数传递方式与全局变量的处理
本文地址:http://www.bokeren.cc/post-180.html
除非注明,文章均为 《悠然生活的平淡博客-博客人linux运维之家》 原创转载请注明本文地址,谢谢。


相关推荐

你肿么看?

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。