一、什么是队列?

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

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

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

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

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

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

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

准备了下面的代码:

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

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

下面是运行效果:

是不是很简单。

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

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

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

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

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

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

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