最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python標(biāo)準(zhǔn)庫(kù)sched模塊使用指南

 更新時(shí)間:2017年07月06日 08:53:52   作者:j_hao104  
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)sched模塊使用的相關(guān)資料,需要的朋友可以參考下

事件調(diào)度

sched 模塊內(nèi)容很簡(jiǎn)單,只定義了一個(gè)類。它用來(lái)最為一個(gè)通用的事件調(diào)度模塊。

class sched.scheduler(timefunc, delayfunc) 這個(gè)類定義了調(diào)度事件的通用接口,它需要外部傳入兩個(gè)參數(shù), timefunc 是一個(gè)沒有參數(shù)的返回時(shí)間類型數(shù)字的函數(shù)(常用使用的如time模塊里面的time), delayfunc 應(yīng)該是一個(gè)需要一個(gè)參數(shù)來(lái)調(diào)用、與timefunc的輸出兼容、并且作用為延遲多個(gè)時(shí)間單位的函數(shù)(常用的如time模塊的sleep)。

下面是一個(gè)列子:

import sched, time

s = sched.scheduler(time.time, time.sleep) # 生成調(diào)度器

def print_time():
print "From print_time", time.time()

def print_some_times():
print time.time()
s.enter(5, 1, print_time, ()) 
# 加入調(diào)度事件
# 四個(gè)參數(shù)分別是:
# 間隔事件(具體值決定與delayfunc, 這里為秒);
# 優(yōu)先級(jí)(兩個(gè)事件在同一時(shí)間到達(dá)的情況);
# 觸發(fā)的函數(shù);
# 函數(shù)參數(shù);
s.enter(10, 1, print_time, ())

# 運(yùn)行
s.run()
print time.time()

if __name__ == '__main__':
print_some_times()

看到的輸出結(jié)果,隔5秒中執(zhí)行第一個(gè)事件,隔10秒后執(zhí)行第二個(gè)事件:

1499259731.99
From print_time 1499259736.99
From print_time 1499259741.99
1499259741.99

在多線程場(chǎng)景中,會(huì)有線程安全問題,run()函數(shù)會(huì)阻塞主線程。官方建議使用 threading.Timer 類代替:

import time
from threading import Timer

def print_time():
print "From print_time", time.time()

def print_some_times():
print time.time()
Timer(5, print_time, ()).start()
Timer(10, print_time, ()).start()
time.sleep(11) # 阻塞主線程,等待調(diào)度程序執(zhí)行完畢,再執(zhí)行后面內(nèi)容
print time.time()

if __name__ == '__main__':
print_some_times()

Scheduler對(duì)象方法

scheduler對(duì)象擁有下面這些方法或?qū)傩?

scheduler.enterabs(time, priority, action, argument)

加入一個(gè)事件, time 參數(shù)應(yīng)該是一個(gè)與傳遞給構(gòu)造函數(shù)的 timefunc 函數(shù)的返回值相兼容的數(shù)值類型。在同一時(shí)間到達(dá)的事件將按照 priority 順序執(zhí)行。

執(zhí)行事件其實(shí)就是執(zhí)行 action(argument) 。argument必須是一個(gè)包含 action 參數(shù)的序列。

返回值是一個(gè)事件,它可以用于稍后取消事件(請(qǐng)參見 cancel() )。

scheduler.enter(delay, priority, action, argument)

安排一個(gè)事件來(lái)延遲 delay 個(gè)時(shí)間單位。除了時(shí)間外,其他參數(shù)、含義和返回值與 enterabs() 的值相同。其實(shí)內(nèi)部 enterabs 就是用來(lái)被 enter 調(diào)用。

scheduler.cancel(event)

從隊(duì)列中刪除事件。如果事件不是當(dāng)前隊(duì)列中的事件,則該方法將跑出一個(gè) ValueError 。

scheduler.empty()

判斷隊(duì)列是否為空。

scheduler.run()

運(yùn)行所有預(yù)定的事件。這個(gè)函數(shù)將等待(使用傳遞給構(gòu)造函數(shù)的 delayfunc() 函數(shù)),然后執(zhí)行事件,直到不再有預(yù)定的事件。

任何 action 或 delayfunc 都可以引發(fā)異常。在這兩種情況下,調(diào)度器將保持一個(gè)一致的狀態(tài)并傳播異常。如果一個(gè)異常是由 action 引起的,就不會(huì)再繼續(xù)執(zhí)行 run() 。

scheduler.queue

只讀屬性,返回一個(gè)即將到達(dá)的事件列表(按到達(dá)事件排序),每個(gè)事件都是有 time 、 priority 、 action 、 argument 組成的 namedtuple 。

相關(guān)文章

  • python算法學(xué)習(xí)之桶排序算法實(shí)例(分塊排序)

    python算法學(xué)習(xí)之桶排序算法實(shí)例(分塊排序)

    本代碼介紹了python算法學(xué)習(xí)中的桶排序算法實(shí)例,大家參考使用吧
    2013-12-12
  • python使用裝飾器作日志處理的方法

    python使用裝飾器作日志處理的方法

    今天小編就為大家分享一篇python使用裝飾器作日志處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-07-07
  • python 調(diào)整圖片亮度的示例

    python 調(diào)整圖片亮度的示例

    這篇文章主要介紹了python 調(diào)整圖片亮度的示例代碼,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2020-12-12
  • 詳解Matplotlib繪圖之屬性設(shè)置

    詳解Matplotlib繪圖之屬性設(shè)置

    這篇文章主要介紹了詳解Matplotlib繪圖之屬性設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 什么是Python中的匿名函數(shù)

    什么是Python中的匿名函數(shù)

    在本篇文章里小編給大家整理的是關(guān)于Python匿名函數(shù)知識(shí)點(diǎn)總結(jié),需要的朋友們可以學(xué)習(xí)參考下。
    2020-06-06
  • Python裝飾器重載內(nèi)置的使用

    Python裝飾器重載內(nèi)置的使用

    本文主要介紹了Python裝飾器重載內(nèi)置的使用,詳細(xì)介紹如何創(chuàng)建裝飾器,如何使用裝飾器來(lái)重載內(nèi)置函數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制

    python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制

    這篇文章主要介紹了python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 排序算法之插入排序法解析

    排序算法之插入排序法解析

    這篇文章主要介紹了排序算法之插入排序法解析,插入排序法是一種簡(jiǎn)單但有效的排序算法,其基本思想是將一個(gè)待排序的元素逐個(gè)插入到已經(jīng)排好序的元素序列中,直至所有元素都被插入完成,從而得到一個(gè)有序序列,需要的朋友可以參考下
    2023-07-07
  • python爬取內(nèi)容存入Excel實(shí)例

    python爬取內(nèi)容存入Excel實(shí)例

    這篇文章主要為大家詳細(xì)介紹了python爬取內(nèi)容存入Excel實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Python功能擴(kuò)展Xorbits庫(kù)編程的無(wú)限可能性探索

    Python功能擴(kuò)展Xorbits庫(kù)編程的無(wú)限可能性探索

    Xorbits是一個(gè)Python庫(kù),旨在擴(kuò)展Python語(yǔ)言的功能,使開發(fā)者能夠更加輕松地進(jìn)行創(chuàng)新性編程,該庫(kù)提供了各種工具和功能,本文就來(lái)帶大家探索python編程的無(wú)限可能性
    2024-01-01

最新評(píng)論

新巴尔虎右旗| 江口县| 瑞昌市| 左贡县| 恩施市| 托克托县| 甘孜| 读书| 安国市| 东辽县| 龙门县| 灵宝市| 九龙县| 商水县| 宁阳县| 墨玉县| 苍南县| 邛崃市| 同心县| 肥乡县| 梨树县| 灵璧县| 乳山市| 登封市| 扶余县| 台东市| 枝江市| 青浦区| 武山县| 定安县| 布尔津县| 阿拉善右旗| 祁东县| 宁陕县| 土默特右旗| 永川市| 巴彦县| 永定县| 当涂县| 鄄城县| 双柏县|