温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中的队列是什么

发布时间:2021-08-12 15:12:24 来源:亿速云 阅读:204 作者:chen 栏目:大数据

这篇文章主要介绍“Python中的队列是什么”,在日常操作中,相信很多人在Python中的队列是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中的队列是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

什么是队列?

队列是一种有序的数据集合  
  • 新数据项的添加总发生在一端——队尾(rear)
  • 现存数据项的移除总发生在另一端——队头(front)

Python中的队列是什么


队列规则:  先进先出FIFO(First In First Out)  ,先进入的数据先出去

队列仅有一个入口和一个出口  ,不允许数据项直接插入队列,也不允许从中间删除数据项

队列例子1:打印机的打印队列


Python中的队列是什么


队列例子2:进程调度

操作系统的内核采用了多个队列来对系统同时运行的进程进行调度        

补充:
         
  • 一段不运行的代码——程序

  • 一段运行的代码——进程

  • 进程由许多线程组成

  • 进程的目的是实现程序的并发


CPU的内核利用队列调度进程(运行的代码),内核越多,CPU的性能越好。当进程的顺序出错导致资源分配死循环,就会出现进程死锁

进程调度特点:

  • 进程数越多于CPU核心数(于是就要进行进程调度)

  • 有些进程还要等待不同类型的I/O事件(I/O事件速度<<CPU处理速度)

进程调度原则:

采用“先到先服务”和“资源充分利用”原则。因为CPU的内核进行进程调度采用的是队列,故对应“先到先服务”策略

队列例子3:键盘缓冲    

   
键盘敲击速度较快,I/O事件速度较慢,故不会马上显示到显示屏上面,利用队列的特点(FIFO)存储敲击的进程      

队列的操作函数

Queue()
创建队列
enqueue(item)
item添加到队尾
dequeue()从队首移除数据
isEmpty()
是否为空
size()
数据项个数

队列操作函数例子:


Python中的队列是什么

队列实现

利用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中的队列是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI