当前位置: 首页 > 知识库问答 >
问题:

LMAX Disruptor的“Finally”或“Do Last”?

萧远
2023-03-14

我正在尝试为LMAX中断器编写一个包装器,我想知道是否有一种机制可以添加在中断器流末尾执行的事件处理程序。

有没有办法做到这一点?

共有1个答案

欧阳高昂
2023-03-14

破坏者类似于队列,实际上没有“结束”。它不像反应式编程中的有限流。

发布者将负责标记最后一个事件(您可以在事件类中为此设置一个布尔字段)。这是“毒药记录”技术。

您将有一个仅在标志为true时执行的处理程序。这就是全部。

 类似资料:
  • 确保在try语句后总是会执行的一个或多个语句(命令或表达式)。 Finally Statement Finally { Statements } 备注 每次使用finally都必须附属于(与之关联)它上面的try(或catch)语句。finally总是附属于它上面且离它最近的无主try语句,不过可以使用区块改变这种行为。 如果finally语句使用在不含catch块的try语句中,则以后无

  • 本文向大家介绍final、finally、finalize 的区别?相关面试题,主要包含被问及final、finally、finalize 的区别?时的应答技巧和注意事项,需要的朋友参考一下 final:是修饰符,如果修饰类,此类不能被继承;如果修饰方法和变量,则表示此方法和此变量不能在被改变,只能使用。 finally:是 try{} catch{} finally{} 最后一部分,表示不论发生

  • Python 异常处理机制还提供了一个 finally 语句,通常用来为 try 块中的程序做扫尾清理工作。 注意,和 else 语句不同,finally 只要求和 try 搭配使用,而至于该结构中是否包含 except 以及 else,对于 finally 不是必须的(else 必须和 try except 搭配使用)。 在整个异常处理机制中, finally 语句的功能是:无论 try 块是否

  • 假如你在读一个文件的时候,希望在无论异常发生与否的情况下都关闭文件,该怎么做呢?这可以使用finally块来完成。注意,在一个try块下,你可以同时使用except从句和finally块。如果你要同时使用它们的话,需要把一个嵌入另外一个。 使用finally 例13.3 使用finally #!/usr/bin/python # Filename: finally.py importtime tr

  • 问题内容: 近我很惊讶地发现,在Java的finally块中可能有一个return语句。 似乎很多人都认为这是一件坏事,如“ 不要在finally子句中返回”中所述。更深入地研究,我还发现“ Java的回报并不总是 ”,这在finally块中显示了其他类型的流控制的一些非常可怕的示例。 因此,我的问题是,谁能给我一个示例,其中finally块中的return语句(或其他流控制)产生更好/更具可读性

  • 在实际开发中,根据 try catch 语句的执行过程,try 语句块和 catch 语句块有可能不被完全执行,而有些处理代码则要求必须执行。例如,程序在 try 块里打开了一些物理资源(如数据库连接、网络连接和磁盘文件等),这些物理资源都必须显式回收。 Java的垃圾回收机制不会回收任何物理资源,垃圾回收机制只回收堆内存中对象所占用的内存。 所以为了确保一定能回收 try 块中打开的物理资源,异