尝试以下说明多线程概念的python代码时,它花费了0.8秒。
import time
import threading
def calc_square(numbers):
print("calculate square numbers")
for n in numbers:
time.sleep(0.2)
print('square:',n*n)
def calc_cube(numbers):
print("calculate cube of numbers")
for n in numbers:
time.sleep(0.2)
print('cube:',n*n*n)
arr = [2,3,8,9]
t = time.time()
t1= threading.Thread(target=calc_square, args=(arr,))
t2= threading.Thread(target=calc_cube,args=(arr,))
t1.start()
t2.start()
t1.join()
t2.join()
print("done in : ",time.time()-t,"seconds")
每个函数在此处创建2个线程。如果再次创建线程,如t3,t4 ... t10,则花费了0.8秒。 1000个线程是否相同? 由于python中的for循环不是并行的,因此我们不能使用for循环来运行它。
for i in range(1000):
t1= threading.Thread(target=calc_square, args=(arr,))
t1.start()
t1.join()
无法使用。所以我的疑问是,对于1000个线程而言,是否同样的0.8秒?