进程vs线程
发布时间:2020-12-15 07:42:45 所属栏目:Java 来源:网络整理
导读:进程vs线程 进程vs线程创建速度 from threading import Threadfrom multiprocessing import Processimport timedef task(name): print(f'{name} is running') time.sleep(2) print(f'{name} is end')if __name__ == '__main__': t = Thread(target=task,args
进程vs线程进程vs线程创建速度from threading import Thread from multiprocessing import Process import time def task(name): print(f'{name} is running') time.sleep(2) print(f'{name} is end') if __name__ == '__main__': t = Thread(target=task,args=('子线程',)) p = Process(target=task,args=('子进程',)) # t.start() p.start() print('主') 开启子线程的打印效果:
开启子进程打印效果:
进程和线程的创建速度
多线程vs多进程计算密集型from threading import Thread from multiprocessing import Process import time # 计算密集型 # def work1(): # res=0 # for i in range(100000000): #1+8个0 # res*=i # # if __name__ == '__main__': # t_list = [] # start = time.time() # for i in range(4): # # t = Thread(target=work1) # t = Process(target=work1) # t_list.append(t) # t.start() # for t in t_list: # t.join() # end = time.time() # # print('多线程',end-start) # 多线程 15.413789510726929 # print('多进程',end-start) # 多进程 4.711405515670776 IO密集型# # io密集型 # def work1(): # x = 1+1 # time.sleep(5) # # # if __name__ == '__main__': # t_list = [] # start = time.time() # for i in range(4): # t = Thread(target=work1) # # t = Process(target=work1) # t_list.append(t) # t.start() # for t in t_list: # t.join() # end = time.time() # print('多线程',end-start) # 多线程 5.002625942230225 # # print('多进程',end-start) # 多进程 5.660863399505615 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |