码迷,mamicode.com
首页 > 系统相关 > 详细

多任务编程-进程

时间:2019-11-19 13:35:16      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:操作   mon   process   imp   任务   ESS   app   返回   roc   

##进程
import os
import signal
signal.signal(signal.SIGCHLD, signal.SIG_IGN)
#signal防止僵尸进程
# 其他方法:1.父进程内pid,status=os.wait() 2.子进程内创建二级子进程(父退出os._exit(0)/sys.exit(‘退出‘),子变孤儿执行)
pid=os.fork()
if pid==0:
print(‘子进程‘)
elif pid>0:
print(‘父进程‘)
elif pid<0:
print(‘创建子进程失败‘)
>注意
>>* 子进程会复制父进程全部内存空间,从fork下一句开始执行。
>>* 父子进程各自独立运行,运行顺序不一定。
>>* 利用父子进程fork返回值的区别,配合if结构让父子进程执行不同的内容几乎是固定搭配。
>>* 父子进程有各自特有特征比如PID PCB 命令集等。
>>* 父进程fork之前开辟的空间子进程同样拥有,父子进程对各自空间的操作不会相互影响。


from multiprocessing import Process
def function(参数):
pass
p=Process(target=function,args=(参数,))
p.daemon(True) #父进程退出,子进程退出
p.start()
p.join()


from multiprocessing import Pool

def func(a):
pass
p = Pool()
p.apply_async(func, args=(‘a‘,))
p.close()
p.join()

 

from multiprocessing import Queue
q = Queue()
q.put()
q.get()
q.close()

 

多任务编程-进程

标签:操作   mon   process   imp   任务   ESS   app   返回   roc   

原文地址:https://www.cnblogs.com/chenlulu1122/p/11888629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!