尝试运行此代码时
for i in range(N): jobs.append(mp.Process(None,G_Sim,(lmbda,mu,c,skip_cost,simulation_time,Policy,warmup_period,False,))) for j in jobs: j.start() j.join()
我得到一个断言错误:名称必须是字符串
答案 0 :(得分:0)
Process
期望其第三个参数是进程名称,而不是参数元组。
答案 1 :(得分:0)
mp.Process()
函数调用定义如下:
multiprocessing.Process([group[, target[, name[, args[, kwargs]]]]])
第三个参数应该是进程的名称,作为字符串。您正在传递以下元组: (lmbda,μ,C,skip_cost,simulation_time,政策,warmup_period,FALSE)
你应该为你的论点命名。类似的东西:
jobs.append(mp.Process(group=None, target=G_Sim, args=(lmbda,mu,c,skip_cost,simulation_time,Policy,warmup_period,False,)))