我有三个班级,我从中开始了三个服务。这三个服务将同时启动。
我在每个服务类中都有回调方法,以了解该特定服务是否已启动。
尽管这三个服务是同时启动的,但没有顺序首先启动这三个服务。
有人可以告诉我最好的使用方法,以便在上次服务开始时通知我吗?
任何帮助表示赞赏。
我会这样做:
public class CounterAndNotifier
{
private int counter = 0;
private int count;
private Runnable runnable;
public CounterAndNotifier(int count, Runnable runnable)
{
this.count = count;
this.runnable = runnable;
}
public synchronized void incrementCounter()
{
counter++;
if (counter == count) {
runnable.run();
}
}
}
Runnable
所有三个服务启动后收到通知。synchronized
递增计数器的方法。Runnable.run()
一旦计数达到,递增计数器的方法将调用3
。incrementCounter()
在服务完成并运行后调用该方法。希望这可以帮助。