##前提・実現したいこと
python初心者です。一定時間毎にとある処理を実行しようと思い下記のようなコードを書いたのですが、少しずつ時間が後ろにずれてしまいます。原因としてtime.sleep関数の処理時間が加算されているからだということはわかっているのですが、自力では解決できず困っています。少し調べてみたところthreadingモジュールを用いて並列処理を行えば良いとのことなのですが、書き方がよくわかりません。。。どなたかお詳しい方、ご教授の程お願い致します。。。
##該当のソースコード
python3
1import time 2 3a = 0 4interval = 1 # interval 秒毎に処理を行う 5 6while True: 7 start_time = time.time() 8 a = a + 1 #メイン処理の部分(例:a = a + 1) 9 end_time = time.time() 10 elapsed_time = end_time - start_time 11 print(a, time.time()) 12 time.sleep(interval - elapsed_time)
##出力結果
1 1567576252.1512504
2 1567576253.1539986
3 1567576254.155937
4 1567576255.1598516
5 1567576256.1624286
6 1567576257.1645737
7 1567576258.166844
8 1567576259.1700335
9 1567576260.1723292
10 1567576261.1763277
…
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/04 10:47