【问题标题】:Best design for delay of processing queue elements (multithreaded)处理队列元素延迟的最佳设计(多线程)
【发布时间】:2014-08-12 09:33:53
【问题描述】:

我有一个阻塞的响应队列,需要在它们被另一个线程添加大约 10 分钟后进行处理。每个元素都有一个时间戳字段。我想知道是否有比这个更好的解决方案:

P1 每秒投掷元素几次,当 P1 将元素添加到队列中时,它会发出信号。

P2 接收到一个信号,检查队列的第一个(顶部)元素并休眠,直到该元素准备好被处理。先进先出的那种。

P2 唤醒,处理元素并重复直到队列为空,然后再次等待信号。

【问题讨论】:

  • 如果 P2 可以按照放入队列的顺序处理其传入队列中的元素(但不是立即),那么没有理由做任何更复杂的事情(我能想到的)。

标签: multithreading algorithm design-patterns queue


【解决方案1】:

对我来说似乎没问题,但我会以异步方式进行。

例如,每分钟检查一下队列中的内容并处理所有可以处理的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多