0

我想知道以下概念是否称为编程模式。

想象一个工作队列,但不是在处理时删除每个队列条目,而是应该在另一个线程捕获删除事件或触发删除事件时将其删除。

所以它会是这样的:

  • 命令进入队列
  • 第二个命令进入队列
  • 第三...
  • 第一个命令得到处理
  • 第一个命令等待被删除
  • 第二个命令得到处理
  • 第一个命令的删除事件被触发
  • 第一个命令被删除
  • 第二个命令等待被删除
  • ...

我希望,我说得足够清楚,可以理解。

现在有没有实现这种行为的 boost 库?是否有代表这种行为的模式?

4

1 回答 1

1

据我所见,您只是在谈论两个队列-“新颖”的一个是待删除的队列。标准队列(deque)应该没问题。您需要一个互斥锁和一个条件变量来表示删除事件。想要一个这样的模式的名字有点夸张(现在人们期望太多了)......如果我在描述它,我可能会说我们有一个解耦的删除线程(假设你是这样实现的),一个异步删除过程(类似地),甚至延迟元素删除(即使没有在单独的线程中完成也是如此)。

于 2012-11-14T09:57:46.893 回答