今自分の書いているコードで以下の様なエラーが出ています。
if self.time_step_period == self.the_num_of_job[self.curr_time]:
IndexError: list index out of range
これはリストself.the_num_of_jobの要素外をself.curr_timeで参照しようとしているという事だと思います。しかし、このエラーが出た際のself.curr_timeの値は0でself.the_num_of_jobにも値が入っているはずなのでエラーが出るのはおかしいです。
ここのソースはある関数の一部なのですが、単体で動かしている際は問題なく動きます。しかし以上のエラーはマルチスレッド処理をした際に起こりました。
Python
1from multiprocessing import Process 2from multiprocessing import Manager
以上のものをimportして使っています。あまりマルチスレッドのコードに慣れていなくて原因がよくわからないのですが、もともと出来上がっているマルチスレッドの処理を使っているのでその書き方自体が間違っているという事は無いです。関数側を自分で編集しているためそこでエラーが起きているわけですが、原因が全く分かりません、、、少し漠然とした質問になってしまうかもしれませんが原因が見えないためコード全部をあげるわけにはいかないという状況ですが、とにかくリストの範囲内なのにlist index out of rangeが出ていること、これはマルチスレッド処理を行なっている際に出ているエラーだ、という事から考えられる原因はあるでしょうか?
回答2件
あなたの回答
tips
プレビュー