python多线程 (四) 线程优先级队列

本文介绍了Python的Queue模块中的线程优先级队列PriorityQueue,包括其特性、常用方法如qsize、empty、full、get、put等,并通过示例代码展示其用法。最后鼓励读者点赞评论并关注。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python多线程 (四) 线程优先级队列

Python的Queue模块FIFO、LIFO、LifoQueue、PriorityQueue这些队列实现了锁原语可以在多线程中直接使用。

Queue模块中的常用方法:

  • Queue.qsize()返回队列的大小
  • Queue.empty()如果队列为空,返回True,反之False
  • Queue.full()如果队列满了,返回True,反之False
  • Queue.full与maxsize大小对应
  • Queue.get([block[,timeout]])获取队列,timeout等待时间
  • Queue.get_nowait()相当Queue.get(False)
  • Queue.put(item)写入队列,timeout等待时间
  • Queue.put_nowait(item)相当Queue.put(item,False)
  • Queue.task_done()在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号
  • Queue.join()实际上意味着等到队列为空,再执行别的操作

上代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/8/5 19:38
# @Author  : Running_Tiger

import queue
import threading
import time

exitFlag = 0

class myThread (threading.Thread):
    def __init__(self, threadID, name, q):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值