亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python?包中的sched?事件調度器的操作方法

 更新時間:2022年04月30日 14:35:37   作者:autofelix  
sched模塊內容很簡單,只定義了一個類。它用來最為一個通用的事件調度模塊,接下來通過本文給大家介紹python?包之?sched?事件調度器教程,需要的朋友可以參考下

一、延遲運行事件

  • 在一個延遲或規(guī)定時間之后執(zhí)行事件,需要采用enter()方法,參數如下:
  • 間隔時間 ( 具體值決定與delayfunc,這里為秒 )
  • 優(yōu)先級 ( 兩個事件在同一時間到達時,先執(zhí)行哪一個 )
  • 調用的函數
  • 函數參數
import sched
import time
# 生成調度器
scheduler = sched.scheduler(time.time, time.sleep)
def print_event(name):
    print ('EVENT:', time.time(), name)
print ('START:', time.time())
# 分別設置在執(zhí)行后2秒、3秒之后執(zhí)行調用函數
scheduler.enter(2, 1, print_event, ('first',))
scheduler.enter(3, 1, print_event, ('second',))
# 運行調度器
scheduler.run()
# 輸出結果
# START: 1532050215.3737717
# EVENT: 1532050217.3747234 first
# EVENT: 1532050218.375626 second

二、重疊事件

  • 調用 run() 塊執(zhí)行所有的事件
  • 每個事件都在同一線程中運行,所以如果一個事件需要更長的時間,延遲事件將會有重疊。
  • 為了不丟失事件,延遲事件將會在之前事件運行完再被執(zhí)行
  • 但一些延遲事件可能會晚于原本計劃的事件
import sched
import time
scheduler = sched.scheduler(time.time, time.sleep)
def long_event(name):
    print('BEGIN EVENT :', time.time(), name)
    time.sleep(2)
    print('FINISH EVENT:', time.time(), name)
print('START:', time.time())
scheduler.enter(2, 1, long_event, ('first',))
# 事件無法在設想的3秒后執(zhí)行,將會順延執(zhí)行
scheduler.enter(3, 1, long_event, ('second',))
scheduler.run()
# 輸出結果
# START: 1532051082.8237524
# BEGIN EVENT : 1532051084.8392828 first
# FINISH EVENT: 1532051086.8475456 first
# BEGIN EVENT : 1532051086.8475456 second
# FINISH EVENT: 1532051088.8557353 second

三、事件優(yōu)先級

如果多個事件是同一時間執(zhí)行,通過設置他們的優(yōu)先級值,用于確定順序運行

import sched
import time
scheduler = sched.scheduler(time.time, time.sleep)
def print_event(name):
    print('EVENT:', time.time(), name)
now = time.time()
print('START:', now)
scheduler.enterabs(now+2, 2, print_event, ('first',))
scheduler.enterabs(now+2, 1, print_event, ('second',))
scheduler.run()
# 輸出結果
# START: 1532052567.6057265
# EVENT: 1532052569.621258 second
# EVENT: 1532052569.621258 first

四、取消事件

利用enter()和enterabs()返回一個引用事件用來取消它

import sched
import threading
import time
scheduler = sched.scheduler(time.time, time.sleep)
# 建立一個全局 線程計數器
counter = 0
def increment_counter(name):
    global counter
    print('EVENT:', time.time(), name)
    counter += 1
    print('NOW:', counter)
print('START:', time.time())
e1 = scheduler.enter(2, 1, increment_counter, ('E1',))
e2 = scheduler.enter(3, 1, increment_counter, ('E2',))
# 開始一個線程執(zhí)行事件
t = threading.Thread(target=scheduler.run)
t.start()
# 在主線程,取消第一個預定事件
scheduler.cancel(e1)
# 等待線程調度程序完成運行
t.join()
# 輸出結果
# START: 1532053265.5280123
# EVENT: 1532053268.528813 E2
# NOW: 1

五、其他方法

# 判斷隊列是否為空
scheduler.empty()
# 只讀屬性,返回一個即將到達的事件列表(按到達事件排序),每個事件都是有 time 、 priority 、 action 、 argument 組成的 namedtuple
scheduler.queue

到此這篇關于python 包之 sched 事件調度器教程的文章就介紹到這了,更多相關python事件調度器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • PySide2出現“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法

    PySide2出現“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法

    這篇文章主要介紹了PySide2出現“ImportError: DLL load failed: 找不到指定的模塊”的問題及解決方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2020-06-06
  • 使用Python開發(fā)個京東上搶口罩的小實例(僅作技術研究學習使用)

    使用Python開發(fā)個京東上搶口罩的小實例(僅作技術研究學習使用)

    這篇文章主要介紹了使用Python開發(fā)個京東上搶口罩的小實例(僅作技術研究學習使用),需要的朋友可以參考下
    2020-03-03
  • 一篇文章弄懂Python關鍵字、標識符和變量

    一篇文章弄懂Python關鍵字、標識符和變量

    這篇文章主要給大家介紹了關于Python關鍵字、標識符和變量的相關資料,Python關鍵詞是Python保留的具有特定含義的特殊詞語,用于執(zhí)行某些操作,Python標識符是用戶定義的名稱,而變量是計算機內存中的一塊區(qū)域,存儲對象的內存地址,以便引用對象的值,需要的朋友可以參考下
    2021-07-07
  • 實例詳解Python中的numpy.abs和abs函數

    實例詳解Python中的numpy.abs和abs函數

    Numpy是python中最有用的工具之一,它可以有效地處理大容量數據,下面這篇文章主要給大家介紹了關于Python中numpy.abs和abs函數的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Python加載文件內容的兩種實現方式

    Python加載文件內容的兩種實現方式

    這篇文章主要介紹了Python加載文件內容的兩種實現方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • python實現從字典中刪除元素的方法

    python實現從字典中刪除元素的方法

    這篇文章主要介紹了python實現從字典中刪除元素的方法,涉及Python中del方法的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • python計算波峰波谷值的方法(極值點)

    python計算波峰波谷值的方法(極值點)

    這篇文章主要介紹了python求極值點(波峰波谷)求極值點主要用到了scipy庫,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 如何在Python中編寫接口和請求外部接口

    如何在Python中編寫接口和請求外部接口

    這篇文章主要介紹了如何在Python中編寫接口和請求外部接口,requests庫來請求外部接口,按照請求方法分為get請求和post請求,下面和小編一起進入文章了解更多的具體內容吧
    2022-02-02
  • Python?獲取md5值(hashlib)常用方法

    Python?獲取md5值(hashlib)常用方法

    這篇文章主要介紹了Python獲取md5值(hashlib)常用方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • matplotlib給子圖添加圖例的方法

    matplotlib給子圖添加圖例的方法

    今天小編就為大家分享一篇matplotlib給子圖添加圖例的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論