工作线程队列的这种变体是某种模式或通用结构吗?
Is this variant of a worker queue some sort of pattern or common structure?
我想知道以下概念是否被称为编程模式。
想象一个工作线程队列,但不是在处理时删除每个队列条目,而是在另一个线程捕获 reremove 事件或触发 reremove 事件时删除它。
所以它会是这样的:
- 命令进入队列
- 第二个命令进入队列
- 第三。。。
- 第一个命令得到处理
- 第一个命令等待删除
- 第二个命令得到处理
- 触发了第一个命令的删除事件
- 第一个命令被删除
- 第二个命令等待删除
- 。
我希望,我说得足够清楚,可以理解。
现在有没有一个提升库,它已经实现了这种行为?是否有代表这种行为的模式?
据我所知,您只是在谈论两个队列 - "新颖"的队列是待删除的队列。 标准队列(deque)应该没问题。 您需要一个互斥锁和一个条件变量来发出删除事件的信号。 想要为这种模式命名有点灰心丧气(如今人们期望太多了)......如果我在描述它,我可能会说我们有一个解耦的删除线程(假设这就是你实现它的方式),一个异步删除过程(类似),甚至延迟元素删除(即使没有在单独的线程中完成也是如此)。
相关文章:
- 访客设计模式和多层类层次结构
- 对象在播放模式下中断层次结构
- 与 Boost.Asio 同步和并发的数据结构模式
- CRTP 模式 但是在数据结构中存储非同构类型
- 两个附带的类层次结构-一个好的设计模式
- 工作线程队列的这种变体是某种模式或通用结构吗?
- Qt 5.2模型视图模式:如何通知模型对象底层数据结构的变化
- 使用二进制模式将数据结构写入文件
- 对于可以具有不同状态的结构,我应该使用哪种设计模式
- 适用于预先存在的类层次结构的函数的最佳模式
- 具有复杂层次结构的decorator模式:导致核心转储的构造函数
- 当结构具有默认构造函数时,为什么我的C++程序在发布模式下崩溃
- 将一个结构与一组模式相匹配
- 复合模式:复制树结构
- 以二进制模式将用户定义的结构写入文件
- 在C++中存储多种结构的模式 std::<vector> 容器
- 设计模式- c++类结构
- 用于结构化对象的高性能装饰器模式
- C++常见问题解答中类层次结构的打印模式
- 在c/c++中实现未知表模式的数据结构