2016-08-04 38 views
0

我喜歡Python的線程 - 運行功能在某些時間

schedule = [(2, 5), 
      (4, 6), 
      (10, 2)] 

與每個元組是一個時間(秒)和所述第二元件是一個值的第一個元素的一組數據。

我想啓動一個單獨的線程跟蹤時間,並在每個預定時間運行一些任意功能func(value)

乾淨的方法是什麼?我可以爲每個預定時間創建一個Timer對象,但似乎馬虎。

編輯:您可以假設時間是按升序排列

+0

時間是否必然按升序排列? – James

+0

是的,我從一開始就對它們進行排序,但是如果有一個強大的解決方案,並不會假設它們已經排序,那也太好了 – Shatnerz

+0

可能是過火,但如果這是針對大項目或可能增長,考慮[APScheduler](http://apscheduler.readthedocs.io/en/v3.2.0/) – Owen

回答

1

如果你需要他們在單獨的線程則Timer對象或作爲一個評論者指出的APScheduler。如果你想手動執行線程,你也可以使用sched。他們在版本3.3中增加了對線程的支持。 Docs

+0

sched(在一個單獨的線程中)在這裏工作完美。正是我需要的。 – Shatnerz