pythonプロセスの作成方法
1457 ワード
第一の方法
第2の方式
第3の方法
第四の方式
import os
pid = os.fork()
if(pid == 0):
print(" , %s"%(os.getpid()))
print(" , %s"%(os.getppid()))
else:
print(" , %s"%(os.getpid()))
print("over")
第2の方式
from multiprocessing import Process
import os
def test(name):
print(name)
print(" , %s"%(os.getpid()))
if __name__ == '__main__':
print(" , %s"%(os.getpid()))
p=Process(target=test,args=("test1",))
p.start()
p.join() # ,
第3の方法
import os
from multiprocessing import Process
class MyProcess(Process):
# Process
def __init__(self,name):
Process.__init__(self)
self.__name = name
# run , start , Process target
# , run
def run(self):
print(self.name)
print(" , %s, %s"%(os.getpid(),self.name))
if __name__ == "__main__":
print(" , %s"%(os.getpid()))
p = MyProcess(" 1")
p.start()
p.join()
第四の方式
from multiprocessing import Pool
import os
import time
def test():
print(" , %s"%(os.getpid()))
time.sleep(2)
p = Pool(3)
for i in range(0,20):
p.apply_async(test)
print("----start---")
p.close()
p.join()
print("----start---")