Почему 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}")

Ответы (0 шт):