-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

Process3番目のパラメーターは、引数のタプルではなく、プロセス名であると想定しています。

于 2012-07-17T13:31:50.223 に答える
0

関数呼び出しは次のmp.Process()ように定義されます。

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

3番目の引数は、文字列としてのプロセスの名前である必要があります。次のタプルを渡します:(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 に答える