В Julia v1.1 предположим, что у меня очень большой текстовый файл (30 ГБ), и я хочу, чтобы параллелизм (многопоточность) читал каждую строку, как я могу это сделать?
Этот код является попыткойсделать это после проверки документации Джулии о многопоточности , но она совсем не работает
open("pathtofile", "r") do file
# Count number of lines in file
seekend(file)
fileSize = position(file)
seekstart(file)
# skip nseekchars first characters of file
seek(file, nseekchars)
# progress bar, because it's a HUGE file
p = Progress(fileSize, 1, "Reading file...", 40)
Threads.@threads for ln in eachline(file)
# do something on ln
u, v = map(x->parse(UInt32, x), split(ln))
.... # other interesting things
update!(p, position(file))
end
end
Примечание 1: вам нужно using ProgressMeter
(я хочу, чтобы мой код отображал прогрессбар при параллельном чтении файла)
Примечание 2: nseekchars - это Int и число символов, которое я хочу пропустить в начале в моем файле
Примечание 3: код работает, но не работаетпареллизма без макроса Threads.@threads
рядом с циклом for