发布时间:2020-10-05 19:01 原文链接: python修炼day31(一)

进程

今日思维导图

python修炼day31!

python修炼day31!

练习代码

进程实现多任务

importmultiprocessing

importthreading

deftest1(num):

foriinrange(num):

print("---test1%d"%i)

deftest2(num):

foriinrange(num):

print("---test2%d"%i)

defmain():

"""创建子进程只需要把库换成multiprocessing.Proess即可"""

#t1=threading.Thread(target=test1,args=(5,))

#t2=threading.Thread(target=test2,args=(10,))

p1=multiprocessing.Process(target=test1,args=(5,))

p2=multiprocessing.Process(target=test2,args=(10,))

p1.start()

p2.start()

if__name__=='__main__':

main()

获取进程的pid

importmultiprocessing

importos

importtime

"""

获取进程的pid

os.getpid可以获取当前进程的进程号

os.getppid可以获取当前进程父进程的进程号

"""

deftest():

whileTrue:

print("--当前进程是%s,父进程是%s"%(os.getpid(),os.getppid()))

time.sleep(1)

defmain():

#创建进程

p=multiprocessing.Process(target=test)

p.start()

print("主程序进程是%s"%os.getpid())

pass

if__name__=='__main__':

main()

进程传递参数

importmultiprocessing

"""

Process传递的参数可以是多值参数

*args:代表多值元组

**kwargs:打包多值字典

"""

deftest(a,*args,**kwargs):

print(a)

fornuminargs:

print(num)

print(kwargs)

defmain():

p=multiprocessing.Process(target=test,args=(1,2,3,4,5),kwargs={"name":"xiaohei"})

p.start()

if__name__=='__main__':

main()

进程之间不共享全局变量

importos

importtime

importmultiprocessing

"""


其他网友还关注过