多進程

多進程
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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章