十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、线程队列
成都创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为牡丹江企业提供专业的成都做网站、成都网站设计,牡丹江网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。queue队列:使用方法同进程的Queue一样
如果必须在多个线程之间安全地交换信息时,队列在线程编程中尤其有用。
重要:
q.put()
:往队列里面放值,当参数block=Ture的时候,timeout参数将会有作用,当队列已经满了的时候,在往里面放值时,block为True程序将会等待timeout的时间,过了时间程序会报错,block如果为Flase时,程序不会等待直接报错
q.get()
:从队列里面取值,当参数block=Ture的时候,timeout参数将会有作用,当队列已经空了的时候,在从里面取值时,block为True程序将会等待timeout的时间,过了时间程序会报错,block如果为Flase时,程序不会等待直接报错
q.task_done()
:使用者使用此方法发出信号,表示q.get()返回的项目已经被处理。如果调用此方法的次数大于从队列中删除的项目数量,将引发ValueError异常。
q.join()
:生产者将使用此方法进行阻塞,直到队列中所有项目均被处理。阻塞将持续到为队列中的每个项目均调用q.task_done()方法为止。
二、线程队列的取值方式
2.1 先进先出
class queue.Queue(maxsize=0)
q = queue.Queue()
:不加参数代表队列可以无限的放数据
q = queue.Queue() #不加参数代表队列可以无限的放数据 q.put('Cecilia陈') q.put('xichen') print(q.get()) print(q.get()) ''' 结果: Cecilia陈 xichen '''