python实现在每个独立进程中运行一个函数的方法
本文实例讲述了python实现在每个独立进程中运行一个函数的方法。分享给大家供大家参考。具体分析如下:
这个简单的函数可以同于在单独的进程中运行另外一个函数,这对于释放内存资源非常有用
#!/usr/bin/envpython from__future__importwith_statement importos,cPickle defrun_in_separate_process(func,*args,**kwds): pread,pwrite=os.pipe() pid=os.fork() ifpid>0: os.close(pwrite) withos.fdopen(pread,'rb')asf: status,result=cPickle.load(f) os.waitpid(pid,0) ifstatus==0: returnresult else: raiseresult else: os.close(pread) try: result=func(*args,**kwds) status=0 exceptException,exc: result=exc status=1 withos.fdopen(pwrite,'wb')asf: try: cPickle.dump((status,result),f,cPickle.HIGHEST_PROTOCOL) exceptcPickle.PicklingError,exc: cPickle.dump((2,exc),f,cPickle.HIGHEST_PROTOCOL) os._exit(0) #anexampleofuse deftreble(x): return3*x defmain(): #callingdirectly printtreble(4) #callinginseparateprocess printrun_in_separate_process(treble,4)
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下