Threadを使うと、配列の順番が変わる?
threading.Thread()を使っていて、問題がでたので、質問させていただきます。
次のシンプルな、配列をforループさせてprintするスクリプトがあります。
worker()をそのまま実行すると、配列の0番目から順にprintされますが、
Thread(target=worker)で実行すると逆順に出力されます。
(ちなみに、配列をrange(5000)とかにすると、順番がぐちゃぐちゃになる場合もあります。(毎回確実ではない))
from threading import Thread
def worker():
nums = [1,2,3,4,5,6,7,8,9,10,11]
for n in nums:
print n
# これは、printの順番は、1=>11
worker()
# これだと、printの順番が11=>1になってしまう
t = Thread(target=worker)
t.start()
何か設定に問題があるのでしょうか。
Thread特有の仕様でしょうか?
環境はwindows10, Python2.7です。
よろしくお願いいたします。