亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python優先級調度器怎么使用

發布時間:2022-05-25 09:55:09 來源:億速云 閱讀:201 作者:iii 欄目:大數據

本篇內容主要講解“Python優先級調度器怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python優先級調度器怎么使用”吧!

Python 自帶一個調度器模塊sched,它能為你實現優先級隊列/延遲隊列和定時隊列。

這個模塊的使用非常簡單,首先以延遲隊列為例:

import sched  def do_work(name):     print(f'你好:{name}')  sch = sched.scheduler() sch.enter(5, 1, do_work, argument=('kingname', )) sch.run()

代碼運行以后,會卡在sch.run()這里,5秒鐘以后執行do_work('kingname'),運行效果如下圖所示:

Python優先級調度器怎么使用

其中,sch.enter()的第一個參數為延遲的時間,單位為秒,第二個參數為優先級,數字越小優先級越高。當兩個任務同時要執行時,優先級高的先執行。但需要注意的是,如果你這樣寫:

import sched  def do_work(name):     print(f'你好:{name}')  sch = sched.scheduler() sch.enter(5, 2, do_work, argument=('產品經理', )) sch.enter(5, 1, do_work, argument=('kingname', )) sch.run()

那么先打印出來的是你好:產品經理,如下圖所示:

Python優先級調度器怎么使用

為什么這里優先級失效了?1的優先級大于2,應該先運行下面的才對啊。

這是由于,只有當兩個任務同時運行的時候,才會去檢查優先級。如果兩個任務觸發的時間一前一后,那么還輪不到比較優先級。由于延遲隊列的延遲是相對于當前運行這一行代碼的時間來計算的,后一行代碼比前一行代碼晚了幾毫秒,所以實際上產品經理這一行會先到時間,所以就會先運行。

為了使用絕對的精確時間,我們可以使用另外一個方法:

import sched import time import datetime  def do_work(name):     print(f'你好:{name}')  sch = sched.scheduler(time.time, time.sleep) start_time = datetime.datetime.now() + datetime.timedelta(seconds=10) start_time_ts = start_time.timestamp() sch.enterabs(start_time_ts, 2, do_work, argument=('產品經理', )) sch.enterabs(start_time_ts, 1, do_work, argument=('kingname', )) sch.run()

運行效果如下圖所示:

Python優先級調度器怎么使用

sch.enterabc()的第一個參數是任務開始時間的時間戳,這是一個絕對時間,這個時間可以使用datetime模塊來生成,或者其他你熟悉的方式。后面的參數和sch.enter()完全一樣。

如果你要運行的函數帶有多個參數或者默認參數,那么可以使用下面的方式傳入參數:

import sched import time import datetime  def do_work(name, place, work='寫代碼'):     print(f'你好:{name},你在:{place}{work}')  sch = sched.scheduler(time.time, time.sleep) start_time = datetime.datetime.now() + datetime.timedelta(seconds=10) start_time_ts = start_time.timestamp() sch.enter(5, 2, do_work, argument=('產品經理', '杭州'), kwargs={'work': '寫需求文檔'}) sch.enterabs(start_time_ts, 1, do_work, argument=('kingname', '產品經理旁邊'), kwargs={'work': '看著她'}) sch.run()

argument參數對應的元組存放普通參數,kwargs對應的字典存放帶參數名的參數。

到此,相信大家對“Python優先級調度器怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和平区| 遂昌县| 鄂托克前旗| 霍林郭勒市| 晋宁县| 扎囊县| 夹江县| 如东县| 清水县| 晴隆县| 固阳县| 富民县| 藁城市| 平顶山市| 彩票| 乳山市| 大姚县| 兴城市| 平昌县| 永宁县| 平谷区| 珲春市| 玉林市| 嘉禾县| 长葛市| 西乌珠穆沁旗| 张家界市| 漳平市| 平潭县| 杭锦后旗| 建昌县| 巴里| 宾川县| 天门市| 长子县| 会泽县| 绍兴县| 铜川市| 尉氏县| 贡嘎县| 江城|