生产者消费者模型,队列

  • 主要用来解耦,适合高并发场景、爬虫

    • 先进后出 FILO
  • 借助队列实现
    • FIFO
  • 队列是安全的不用加锁
  • q.get()阻塞等待或取数据,如果有数据直接获取,如果没有数据就阻塞等待
  • q.put()阻塞或放数据,如果可以放数据继续放,不可以放阻塞等待(IO操作)
  • q.get_nowait()不阻塞,如果有数据直接获取,没有数据就报错
  • q.put_nowait()不阻塞,如果可以就继续往队列中放数据,不能放就报错
  • JoinableQueue模块
    • task_done,每消费一个数据就返回一个标识
    • join()接收task_done返回的标识,以便知道队列中的数据什么时候消费完
  • 多进程间共享数据
    • Manager模块,Value模块,要加锁
  •  
posted @   3notblv  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示