2つの関数を並列に実行し、ある関数(リストに連続して格納されている)の戻り値を別の関数で使用したいとします。共通リストと並行して実行する関数
私は上記を達成するためのいくつかの関数を書いています(このフォーラムの以前の記事の助けを借りて)。
RunP(func_a, func_b)
Process Process-2:
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/multiprocessing-2.6.2.1-py2.4-linux-i686.egg/multiprocessing/process.py", line 237, in _bootstrap
self.run()
File "/usr/lib/python2.4/site-packages/multiprocessing-2.6.2.1-py2.4-linux-i686.egg/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "test.py", line 419, in func_b
ul1=u.pop(i2)
IndexError: pop from empty list
私が意図したタスクを達成するのを助けるください。私は、次の
RunP(func_a, func_b)
のような機能の両方を呼び出すしかし、私はこれを実行すると、私はこのエラーを取得する
u=[]
def func_a():
Num1=10000
for i1 in range(callNum1):
ul = <some_function_returns_a_value>
u.append(ul)
def func_b():
Num2=10000
time.sleep(30)
for i2 in range(Num2):
ul1=u.pop(i2)
print ul1
def RunP(*fns):
proc = []
for fn in fns:
p = Process(target=fn)
p.start()
proc.append(p)
for p in proc:
p.join()
正しくコードをインデントしてください
はここにあなたのコードに似ていquick'n'dirty例です。今、構文エラーがあります。 – Simon