# from multiprocessing import Process
# import time
# def method1(name):
# time.sleep(1)
# #并行
# print('hello',name,time.ctime())
#
# if __name__ == '__main__':
# l=[]
# for i in range(3):
# p = Process(target=method1,args=('fengfeng',))
# l.append(p)
# p.start()
# for i in l:
# i.join()
# print('end')
#
# '''
# F:\pythonProject\first\venv\Scripts\python.exe F:/pythonProject/first/demo7/多进程模块.py
# hello fengfeng Mon Mar 12 15:40:30 2018
# hello fengfeng Mon Mar 12 15:40:30 2018
# hello fengfeng Mon Mar 12 15:40:30 2018
# end
# '''
from multiprocessing import Process
import os
import time
def info(title):
print("title:", title)
print('parent process:', os.getppid())
print('process id:', os.getpid())
def f(name):
info('function f')
print('hello', name)
if __name__ == '__main__':
info('main process line')
time.sleep(1)
print("------------------")
p = Process(target=info, args=('yuan',))
p.start()
p.join()
进程池
from multiprocessing import Process,Pool
import time,os
def Foo(i):
time.sleep(1)
print(i)
return str(i)+'fengfeng'
#回调函数的执行是在主进程之下的。
def Bar(arg):
print(arg)
# print(os.getpid())
# print(os.getppid())
# print('logger:',arg)
if __name__ == '__main__':
pool = Pool(5)
# Bar(1)
# print("----------------")
for i in range(10):
# pool.apply(func=Foo, args=(i,))
# pool.apply_async(func=Foo, args=(i,))
pool.apply_async(func=Foo, args=(i,), callback=Bar)
pool.close()
pool.join()
print('end')