pythonでプログラミング! -threading!2

threadを試していく上でいろんな環境でやってみた結果です。

簡単に試そうとgoogleのcolab、Psiza.ioと試してみましたが少しおかしい挙動となってしまいました。

colabではすぐに停止してしまいます。paizaもすぐにタイムアウトとなってしまいました。

一番いいのは仮想化して起動しているUbuntuの環境ですかね。あとDockerでpython環境の構築して試すのがよかったですね。

Dockerでやったことを記録しておきます。

Docker for Mac のKaitematicを起動してまずContienerを検索、今回は"jupyter notebook"で検索してdatascience-notebookをCreate!します。

作業が終わるとこんな感じで表示されます。EXECをクリック!して

$ jupyter notebook

とコマンド打ってreturn!して、

この赤枠の部分をコピーしておきます。

の部分をクリック!してブラウザが起動されます。

が出てくるのでさっきコピーしたものをPasswordのところに入れログイン!

無事ログインできているのが確認できると思います。

新規ファイルを作ってthread試してみます。

import threading
import time
def foo():
   for i in range(10):
       time.sleep(1)
       print("foo:"+str(i))
def foo2():
   for i in range(10):
       time.sleep(2)
       print("hoge:"+str(i))
th=threading.Thread(target=foo)
th.start()
th2=threading.Thread(target=foo2)
th2.start()

RUNすると、

foo:0
foo:1
hoge:0
foo:2
foo:3
hoge:1
foo:4
hoge:2
foo:5
foo:6
hoge:3
foo:7
foo:8
hoge:4
foo:9
hoge:5
hoge:6
hoge:7
hoge:8
hoge:9

こんな感じで出力されます。並列で実行されているのがわかりますね。

この記事が気に入ったらサポートをしてみませんか?