我想問一下:自從我們開始一個python程序以來,如何編寫一個計算1小時的python程序?自從python程序啓動以來,如何計算1小時?
我舉一個例子: - 我們在17:00:00啓動python程序 - 運行1小時後(在18:00:00),python程序將打印一條消息通知1小時已經通過。
我可以找出一個python程序。首先,我記錄開始程序的時間(稱爲start_time
),然後我連續記錄下次(稱爲end_time
)。如果(end_time
-start_time
== 1小時),則它打印消息。
不過看起來程序浪費了太多的CPU性能!我需要一個CPU性能較低的程序。
編輯: 我需要如下。
我有一個線程名稱wait_an_event_thread
。它是一個阻塞線程。如果未設置事件trigger
,則此線程被阻止。 在阻塞時間內,如果已經過了1小時,此線程會打印出一條消息。 這是我的期望。
以前,我說我下次連續錄音(電話end_time
)。這意味着我打算從阻塞線程更改爲非阻塞線程,因爲我不知道如何在阻塞的線程中打印消息,如果已經過了1小時。但看來非阻塞線程需要這麼多的CPU性能。
這是我的代碼:
我的意料:阻塞線程
def wait_an_event_thread(trigger):
trigger.wait()
# If 1 hour has been passed, it print a message
# How to print message if 1 hour has been passed in this blocking thread if the "trigger" event is not set??
trigger = threading.Event()
wait_an_event_thread = threading.Thread(name='wait_an_event_thread',
target=wait_an_event_thread,
args=(trigger,))
wait_an_event_thread.start()
您可以使用['Timer'](https://docs.python.org/3/library/threading.html?highlight=timer#threading.Timer)。你還應該包括你迄今爲止嘗試過的最簡單的例子,以便其他人能夠更好地幫助你。 –
我編輯我的帖子爲我的例子。你能讀懂嗎? – jackbk
你有一個同名的函數和var,它會導致問題。此外,如果你想要她的幫助,你需要給她加標籤@IljaEverilä – IsaacDj