-2

尝试运行此代码时

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()

我得到一个断言错误:名称必须是一个字符串

4

2 回答 2

0

Process期望它的第三个参数是进程名称,而不是参数元组。

于 2012-07-17T13:31:50.223 回答
0

mp.Process()函数调用定义如下:

multiprocessing.Process([group[, target[, name[, args[, kwargs]]]]])

第三个参数应该是进程的名称,作为字符串。您正在传递以下元组: (lmbda,mu,c,skip_cost,simulation_time,Policy,warmup_period,False,)

你应该命名你的论点。就像是:

jobs.append(mp.Process(group=None, target=G_Sim, args=(lmbda,mu,c,skip_cost,simulation_time,Policy,warmup_period,False,)))
于 2012-07-17T13:35:49.393 回答