PythonでsleepしているThreadを呼び起こすプラクティス
Photo by isobrown
Pythonのsleep中のThreadをWake up
PythonのThreadにて、RubyのThreadのwakeupメソッドに等しいことを実装したかったのですが、wakeup的なメソッドは存在しない模様。
というわけで、別の方法を探していたところ、Eventのwaitを使えばほぼ等しい機能が実装できるようです。
サンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import time import threading def thread_target(event): while True: if event.wait(10): print "Thread is waked up!" return ev = threading.Event() t = threading.Thread(target=thread_target, args=(ev,)) t.start() time.sleep(5) ev.set() t.join() |
Event.waitを使えば、確かにtime.sleepと等しい機能が実装できますし、必要となれば外部スレッドからEvent.setしてやればsleep状態から復帰します。便利ですね!外部からのスレッドの終了処理なんかの実装にはEventを使うのがベストみたいです。
余談
ブログにできそうな発見や学習はいくつもあるのですが、シストレの開発のほうがとても忙しいためなかなか更新ができておりません。 orz シストレのほうは、最近は成績がさほど悪くないので、今年の分を食いつなぐのは問題がなさそう。転職活動のほうは、一社に絞ってレスポンスを待っている状態で、そこがなかったら取り敢えずは頑張っては探さない方向になりそうです。日進月歩で頑張っております!



About Fx-Kirin
2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。
- Web |
- More Posts (410)
Adsense
関連記事
-
-
話題のクローラー・スクレイピング!PythonならScrapyが超優秀な件
Rubyの読書会に行ったら、Pythonの面白いお話を聞けたというお話です。 Rubyクローラー本の読書会に参
-
-
JAVA の SHA1 Digestの作り方
>>> import base64 >>> import hashlib >>> base64.b64encode(
-
-
重回帰分析による米雇用統計の予測モデルを作成してみる
この記事はPython その2 Advent Calendar 2015 の17日目の記事です。 1 はじめに
-
-
vim-slime を使って VIM の内容をコンソールに送信
この記事はVim Advent Calendar 2016の20日目の記事です。 選択行の内容をコンソールに送信
-
-
Python 2, Python 3 で更新したファイルを調べてreloadするパッケージを作った。
pdbでのデバッグにはreload機能がない IPythonには優秀なautorelaod機能がマジックコマンドで
-
-
Python 2, Python 3 で string を bytes に変換する。
共通の処理系にしておきたかったので、メモ書き。 [bm url="https://python-future.or
-
-
Python での ポートフォリオの計算
Python でのポートフォリオの計算 ポートフォリオの計算について色々調べてみた。とりあえず使いたいって人はpo
-
-
Python Mock で オリジナルのインスタンメソッドのを呼びたい時
autospec と sideeffect を組み合わせるのが解決策だった。
-
-
Python Pandas からお手軽に highcharts が使える kanichart 作りました。
Kanichart fx-kirin/kanichart: Easy(簡易) plotting library.
-
-
Pythonで簡単自動化!PyAutoGuiが便利すぎて感動したのでご紹介
以前こんな記事を書いていたのですが、これがまったく不要になるとても便利なPython Libraryがあった
Adsense
NEW ENTRY
-
- Linux Mint 20 での日本語の設定について。
フォントの設定とかはいろいろなところで触れられているので、他にない情報だけ。 TL;DR F
-
- joblib によって謎のバグが起こる
joblib 0.14.1 にて確認.0.13.2 だと起こらない.import joblib を消
-
- Fixing kernel error AMD-Vi: Event logged IO_PAGE_FAULT on Ryzen Machine
My pc was periodically shut down on 7:40 am JS
-
- Ubuntu で仮想ディスプレイを使う
雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c
-
- PYPIへの登録を10秒でできるようになる方法
pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ
Twitter
RSS
カテゴリー
-
人気記事一覧