python中的多处理按顺序运行

时间:2016-07-08 13:51:25

标签: python multiprocessing

我的工作需要大量数据库插入和提取。我想使用多处理来加速工作。

被调用的进程确实有一些我期望打印的变量语句,这些表明作业按顺序运行 而不是同时。

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

有更好的方法吗? 谢谢

0 个答案:

没有答案