您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python中的隊列是什么”,在日常操作中,相信很多人在Python中的隊列是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中的隊列是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
什么是隊列?
隊列例子1:打印機的打印隊列
隊列例子2:進程調度
操作系統的內核采用了多個隊列來對系統同時運行的進程進行調度
一段不運行的代碼——程序
一段運行的代碼——進程
進程由許多線程組成
進程的目的是實現程序的并發
CPU的內核利用隊列調度進程(運行的代碼),內核越多,CPU的性能越好。當進程的順序出錯導致資源分配死循環,就會出現進程死鎖
進程調度特點:
進程數越多于CPU核心數(于是就要進行進程調度)
有些進程還要等待不同類型的I/O事件(I/O事件速度<<CPU處理速度)
進程調度原則:
采用“先到先服務”和“資源充分利用”原則。因為CPU的內核進行進程調度采用的是隊列,故對應“先到先服務”策略
隊列的操作函數
Queue() | 創建隊列 |
enqueue(item) | item添加到隊尾 |
dequeue() | 從隊首移除數據 |
isEmpty() | 是否為空 |
size() | 數據項個數 |
隊列操作函數例子:
隊列實現
利用python列表實現隊列
class Queue():
"""隊列"""
def __init__(self):
self.items = []
def enqueue(self, item):
"""插入元素, 時間復雜度O(n)"""
self.items.insert(0, item)
def dequeue(self):
"""刪除元素,時間復雜度O(1)"""
return self.items.pop()
def size(self):
return len(self.items)
def isEmpty(self):
return self.items == []
到此,關于“Python中的隊列是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。