欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python线程之线程安全的队列Queue

程序员文章站 2024-03-27 11:02:40
一、什么是队列?像排队一样,从头到尾排成一排,还可以有人继续往后排队,这就是队列。这里学委想说的是queue这个类, 它是queue这个内置模块内的一个类。它提供了很多函数,下面几个函数,我们使用的比...

一、什么是队列?

像排队一样,从头到尾排成一排,还可以有人继续往后排队,这就是队列。

这里学委想说的是queue这个类, 它是queue这个内置模块内的一个类。

它提供了很多函数,下面几个函数,我们使用的比较多:

  • get: 获取并移除队头元素,就是出队
  • put: 往队列末尾加入元素,也就是后来者排队
  • qsize: 获取队列的长度
  • empty: 队列空了,没有人在排了
  • full: 队列满了。

看着比较枯燥,学委画了下图展示:

Python线程之线程安全的队列Queue

这个队列put了3次,依次放入:持续学习,持续开发,我雷学委。队列长度为3

二、队列基操 入队/出队/查队列状态

准备了下面的代码:

这段代码创建了一个长的为5的队列。

然后一个循环写满队列,接着再依此出队,粉丝出队点赞。

下面是运行效果:

Python线程之线程安全的队列Queue

是不是很简单。

三、queue是一个线程安全的类

前面几篇文章,碰到下面的代码(反复读写共享变量)结果总是出乎依赖!

如果我们对队列进行反复读写,会不会出现问题呢?

不妨,写个代码验收一下:

不管运行多少次,队列(希望是黑粉队列)都为0元素。

Python线程之线程安全的队列Queue

总结:
本篇学委分享了一个线程安全的队列queue,这个非常重要!但是队列queue这个类是线程安全的,这个是经过验证的

到此这篇关于python线程之线程安全的队列的文章就介绍到这了,更多相关python线程安全队列内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!