Почему threading работает медлено в I/O Bound(Python)
Если я правильно всё понял-то при работе с IO-Bound операциями код с мультипотоками должен показать результаты лучше чем в однопотоке но по итогу сравнения всё наоборот. Обьясните мне пожалуйста почему так? Сравнивал на основе работы этих кодов: 1.
import threading
import time
strings=[]
filenames=["file"+str(i)+".txt" for i in range(15)]
def ReadStringFromFile(names):
global strings
with open(names) as file:
strings.append(file.readlines())
time_start=time.time()
for i in filenames:
ReadStringFromFile(i)
print(f"Total time is {time.time()-time_start}")
import threading
import time
strings=[]
filenames=["file"+str(i)+".txt" for i in range(15)]
def ReadStringFromFile(names):
global strings
with open(names) as file:
strings.append(file.readlines())
threads=[threading.Thread(target=ReadStringFromFile,args=(i,)) for i in filenames]
time_start=time.time()
for i in threads:
i.start()
for i in threads:
i.join()
print(f"Total time is {time.time()-time_start}")