我是 Disruptor 的新手。我有以下两个查询:
Q1。我得到了一个生产者对一个消费者和一个生产者对多个依赖消费者的示例代码,
我喜欢为多个生产者或多个消费者或定序器获取示例代码:3P – 1C。您能否向我推荐任何博客或代码示例?
Q2。这是一个关于在多生产者环境中的通用问题,一个生产者结果将如何与环形缓冲区中先前生产者的结果相互关联。
例如:Is Disruptor 可以在多个生产者更新单个文件/变量的环境中使用。即有两个生产者(P1,P2),它们正在更新一个共享变量(命名为“count”)。(这里的count是ValueEvent类中的一个实例变量)
最初,“计数”值为 0。
生产者 P1 会将“计数”当前值加 1。所以生产者 P1 处理后,count 的值将是 (0+1) = 1。
生产者 P2 会将“count”当前值加 2,因此生产者 P2 处理后,count 的值将是 (1+2) = 3。
基本上,P2 需要从环形缓冲区读取更新的“计数”值(由 P1 完成)并添加增量值(2)。
我们如何维护生产者的执行顺序?(P2总是在P1执行之后执行。)
在消费者端,消费者 (C1,C2) 将按顺序读取“计数”值 (1,3,.,.,.)。这没关系,就像在环形缓冲区中一样,每个消费者将仅按顺序读取环形缓冲区值。
谢谢,普拉森吉特。