【问题标题】:Implementing a buffer-like structure in Python在 Python 中实现类似缓冲区的结构
【发布时间】:2014-11-04 04:27:25
【问题描述】:

我正在尝试编写一个小型 wsgi 应用程序,它会在每次请求后将一些对象放入外部队列。我想批量制作,即。使网络服务器将对象放入内存中的类似缓冲区的结构中,并在缓冲区足够大或特定超时后将这些对象批量发送到队列的另一个线程和/或进程,并清除缓冲区。我不想陷入 NIH 综合症,也不想打扰线程的东西,但是我找不到适合这项工作的代码。有什么建议么?

【问题讨论】:

    标签: python multithreading data-structures message-queue


    【解决方案1】:

    检查https://docs.python.org/library/queue.html,看看它是否满足您的需求。

    【讨论】:

    • 比我早 16 秒得到相同的答案。我认为这也是他想要的,但无法完全弄清楚。
    • 以下是我最喜欢 Python 的地方:您将要实现的 80% 已经存在。通常,即使在标准库中也是如此。
    • 这个问题已经被问到了。 stackoverflow.com/questions/394500/…
    • 我知道这是一个有 5 年历史的线程,但显然仍然相关(因为我刚刚发现它在 Python 中寻找类似缓冲区的结构)...我想报告上面的链接如果可能的话,如果有人愿意更新它,python.org 将不再有效。我确实找到了pymotw.com/2/Queue 作为可能的替代品。
    【解决方案2】:

    由于您编写了“线程和/或进程”,另请参阅 2.6 中的 multiprocessing.Queue and multiprocessing.JoinableQueue。这些是 Queue 的进程间变体。

    【讨论】:

      【解决方案3】:

      如果您使用的是 python 3.0,请使用 buffered stream

      【讨论】:

      • 看起来它也是 Python 2 的 available
      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 2012-11-17
      • 2015-05-20
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多