我的工作需要大量的数据库插入和提取。我想用多重处理来加速工作。在
被调用的进程确实有一些变量语句,我希望这些语句被打印出来,这些语句表示作业是按顺序运行的 而不是同时进行。在
import rd_functions as rd
import multiprocessing
import sys
start_pos = int(sys.argv[1])
end_pos = int(sys.argv[2])
cores = int(sys.argv[3])
if end_pos == start_pos:
single_core = 0
else:
single_core = (end_pos - start_pos) / cores
core1_start = start_pos
core1_end = start_pos + single_core
jobs = []
p = multiprocessing.Process(target=rd.backdate_worker(core1_start,core1_end))
jobs.append(p)
if cores >= 2:
core2_start = core1_start + single_core + 1
core2_end = core2_start + single_core
p = multiprocessing.Process(target=rd.backdate_worker(core2_start, core2_end))
jobs.append(p)
...
if cores >= 8:
core8_start = core7_start + single_core + 1
core8_end = core8_start + single_core
p = multiprocessing.Process(target=rd.backdate_worker(core8_start, core8_end))
jobs.append(p)
p.start
有更好的方法吗? 谢谢你
目前没有回答
相关问题 更多 >
编程相关推荐