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

Python定時(shí)任務(wù)sched模塊用法示例

 更新時(shí)間:2018年07月16日 14:17:37   作者:鎧甲巨人  
這篇文章主要介紹了Python定時(shí)任務(wù)sched模塊用法,結(jié)合實(shí)例形式分析了定時(shí)任務(wù)sched模塊的基本功能、參數(shù)含義、多線程定時(shí)任務(wù)等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python定時(shí)任務(wù)sched模塊用法。分享給大家供大家參考,具體如下:

通過sched模塊可以實(shí)現(xiàn)通過自定義時(shí)間,自定義函數(shù),自定義優(yōu)先級(jí)來執(zhí)行函數(shù)。

范例一

import time
import sched
schedule = sched.scheduler( time.time,time.sleep)
def func(string1):
  print "now excuted func is %s"%string1
print "start"
schedule.enter(2,0,func,(1,))
schedule.enter(2,0,func,(2,))
schedule.enter(3,0,func,(3,))
schedule.enter(4,0,func,(4,))
schedule.run()
print "end"

schedule是一個(gè)對(duì)象,叫什么名字都可以

schedule.enter(delay,priority,action,arguments)

  • 第一個(gè)參數(shù)是一個(gè)整數(shù)或浮點(diǎn)數(shù),代表多少秒后執(zhí)行這個(gè)action任務(wù)
  • 第二個(gè)參數(shù)priority是優(yōu)先級(jí),0代表優(yōu)先級(jí)最高,1次之,2次次之,當(dāng)兩個(gè)任務(wù)是預(yù)定在同一個(gè)時(shí)刻執(zhí)行時(shí),根據(jù)優(yōu)先級(jí)決定誰先執(zhí)行。
  • 第三個(gè)參數(shù)就是你要執(zhí)行的任務(wù),可以簡(jiǎn)單理解成你要執(zhí)行任務(wù)的函數(shù)的函數(shù)名
  • 第四個(gè)參數(shù)是你要傳入這個(gè)定時(shí)執(zhí)行函數(shù)名函數(shù)的參數(shù),最好用括號(hào)包起來,如果只傳入一個(gè)參數(shù)的時(shí)候用括號(hào)包起來,該參數(shù)后面一定要加一個(gè)逗號(hào),如果不打逗號(hào),會(huì)出現(xiàn)錯(cuò)誤。

例如:

schedule.enter(delay, priority, action, (argument1,))

run()一直被阻塞,直到所有任務(wù)全部執(zhí)行結(jié)束。每個(gè)任務(wù)在同一線程中運(yùn)行,所以如果一個(gè)任務(wù)執(zhí)行時(shí)間大于其他任務(wù)的等待時(shí)間,那么其他任務(wù)會(huì)推遲任務(wù)的執(zhí)行時(shí)間,這樣保證沒有任務(wù)丟失,但這些任務(wù)的調(diào)用時(shí)間會(huì)比設(shè)定的推遲。

多線程執(zhí)行定時(shí)任務(wù)

范例二

import time
import sched
from threading import Timer
def print_name(str):
  print "i'm %s"%str
print "start"
Timer(5,print_name,("superman",)).start()
Timer(10,print_name,("spiderman",)).start()
print "end"

通過多線程,實(shí)現(xiàn)定時(shí)任務(wù)

在多線程中,如果只通過schedule,會(huì)因?yàn)榫€程安全的問題會(huì)出現(xiàn)阻塞,一個(gè)任務(wù)執(zhí)行,如果沒有結(jié)束而另一個(gè)任務(wù)就要等待。

通過threading.Timer可以避免這個(gè)問題效果就是直接執(zhí)行Print startprint end,而定時(shí)任務(wù)會(huì)分開執(zhí)行。打印end不會(huì)阻塞。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python日期與時(shí)間操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

利辛县| 湖州市| 汉寿县| 灵川县| 平远县| 乌海市| 墨竹工卡县| 陆川县| 雅江县| 察雅县| 蚌埠市| 铁岭市| 兴山县| 阜南县| 大邑县| 平阳县| 阜城县| 大港区| 留坝县| 兴业县| 来安县| 淮安市| 西乌| 太原市| 仁布县| 栖霞市| 双柏县| 临武县| 平远县| 大埔区| 巫山县| 从化市| 固安县| 梨树县| 炎陵县| 钦州市| 甘南县| 庐江县| 孟村| 石台县| 蓝田县|