だから私はテキストドキュメントの各行をマルチプロセッシングして読み込もうとしています。660918行あり、すべて同じ長さであることがわかっています。ただし、次のコードでは行の長さが変わっているようで、理由がわかりません。
import multiprocessing
class Worker(multiprocessing.Process):
def __init__(self,in_q):
multiprocessing.Process.__init__(self)
self.in_q = in_q
def run(self):
while True:
try:
in_q.get()
temp_line = short_file.readline()
temp_line = temp_line.strip().split()
print len(temp_line)
self.in_q.task_done()
except:
break
if __name__ == "__main__":
num_proc = 10
lines = 100000 #660918 is how many lines there actually are
in_q = multiprocessing.JoinableQueue()
File = 'HGDP_FinalReport_Forward.txt'
short_file = open(File)
for i in range(lines):
in_q.put(i)
for i in range(num_proc):
worker = Worker(in_q)
worker.start()
in_q.join()