我正在使用Akka Distributed Pub/Sub并拥有一个发布者和一个订阅者.我的发布者比订阅者快.有没有办法在某一点之后放慢发布商的速度?
发布商代码:
public class Publisher extends AbstractActor {
private ActorRef mediator;
static public Props props() {
return Props.create(Publisher.class, () -> new Publisher());
}
public Publisher () {
this.mediator = DistributedPubSub.get(getContext().system()).mediator();
this.self().tell(0, ActorRef.noSender());
}
@Override
public Receive createReceive() {
return receiveBuilder()
.match(Integer.class, msg -> {
// Sending message to Subscriber
mediator.tell(
new DistributedPubSubMediator.Send(
"/user/" + Subscriber.class.getName(),
msg.toString(),
false),
getSelf());
getSelf().tell(++msg, ActorRef.noSender());
})
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
订户代码:
public class Subscriber extends AbstractActor {
static public Props props() {
return Props.create(Subscriber.class, …Run Code Online (Sandbox Code Playgroud) 基于 GeeksForGeeks here 中的问题。我在这里遇到了一个解决方案。
有人可以帮助我理解解决方案。主要我需要以下块的帮助:
if(n==1) cout<<arr[0]<<endl;
else if(n%2) {
ll ind = n-3;
ind = floor(ind/4);
ind = 3+ind;
cout<<arr[ind-1]<<endl;
} else {
ll ind = n-2;
ind = floor(ind/4);
ind = 2+ind;
cout<<arr[ind-1]<<endl;
}
Run Code Online (Sandbox Code Playgroud)