Я пытаюсь использовать многопоточность для чтения файла, отформатированного так:
0 0 1 1 0 1 0 1
0 1 0 0 0 1 1 1
1 1 1 0 1 1 0 0
где каждая строка является строкой, например 1-й:
"0 0 1 1 0 1 0 1"
и сохраните его в виде матрицы:
[[0, 0, 1, 1, 0, 1, 0, 1],
[0, 1, 0, 0, 0, 1, 1, 1],
[1, 1, 1, 0, 1, 1, 0, 0]]
До сих пор я придумал:
from multiprocessing.dummy import Pool
def splitline(line):
values = [int(char) for char in line.split()]
return values
with open("file.txt", "r") as file:
chunk = len(file.readlines()[0])
file.seek(0)
with Pool(4) as pool:
matrix = pool.map(splitline, file, chunk)
но это медленнее, чем просто использование map ():
with open("file.txt", "r") as file:
matrix = []
for line in file:
matrix.append([value for value in map(int, line.split())])
Может кто-нибудь сказать, что я делаю неправильно в моей многопоточности?
Спасибо!