多進程
import multiprocessing,time,threading
start_time=time.time()
def thread_run():
print(threading.get_ident()) #獲取線程號
def run(name):
time.sleep(2)
print('hello',name)
t=threading.Thread(target=thread_run,)
t.start()
if __name__=="__main__":
t_objs=[]
for i in range(10):
p=multiprocessing.Process(target=run,args=("bob %s"%i,))
p.start()
t_objs.append(p)
#p.join()
for p in t_objs:
p.join()
print("runing time:",time.time()-start_time)
獲取進程號
from multiprocessing import Process
import os
def info(title):
print(title)
print('module name:', __name__)
print('parent process:', os.getppid()) #父進程
print('process id:', os.getpid()) #自己進程
print("\n\n")
def f(name):
info('\033[31;1mcalled from child process function f\033[0m')
print('hello', name)
if __name__ == '__main__':
info('\033[32;1mmain process line\033[0m')
p = Process(target=f, args=('bob',)) #定義子進程 每一個子進程都是由父進程啓動的
p.start()
#p.join()