单/多线程效率对比

线程效率:

1、CPU计算密集型:单线程 比多线程 快

2、网络IO密集型:多线程 比 单线程 快

 

 

 

import requests
import threading
import time

num = 0


def func1():
for i in range(100):
# global num
# num += 1
requests.get('http://127.0.0.1:8000/projects/onedata/')


def func2():
for i in range(100):
# global num
# num += 1
requests.get('http://127.0.0.1:8000/projects/onedata/')


def main():
t1 = threading.Thread(target=func1)
t2 = threading.Thread(target=func2)
s_time = time.time()
t1.start()
t2.start()
t1.join()
t2.join()
e_time = time.time()
print(e_time - s_time)


if __name__ == '__main__':
# main()
s_time = time.time()
func1()
func2()
e_time = time.time()
print(e_time - s_time)

''''
CPU计算:
2个线程:0.0001761913299560547
单线程:1.1682510375976562e-05

网络io:
2个线程:2.881053924560547
单线程:3.6266140937805176
'''
posted @ 2022-04-24 10:42  狒狒桑  阅读(273)  评论(0编辑  收藏  举报