java - 通知一系列事件完成的监听器(启动同步服务)

标签 java android

我有三个类(class),从这三个类(class)开始我提供三项服务。这三个服务将同时启动。

我在每个服务类中都有回调方法来了解该特定服务是否已启动。

尽管这三个服务是同时启动的,但没有先后顺序。

有人可以告诉我最好的使用方法,以便我在上次服务开始时收到通知吗?

感谢任何帮助。

最佳答案

我会这样做:

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();
        }
    }
}
  1. 创建一个采用 Runnable 的类,一旦所有三个服务启动,就应该通知该类。
  2. 此类维护一个计数器和一个用于递增计数器的同步方法。
  3. 一旦计数达到 3,递增计数器的方法就会调用 Runnable.run()
  4. 创建此类的一个对象,并将其传递给三个服务,以便在服务完成启动并运行后调用 incrementCounter() 方法。

希望这有帮助。

关于java - 通知一系列事件完成的监听器(启动同步服务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12392553/

相关文章:

android - 以编程方式获取电话号码 - Android

android - 是否有任何蓝牙设备唯一标识

java - 实例呈指数增长 - 消耗内存

java - 使用 URLConnection 加载 xml 内容时出现垃圾

android - 如何使用 Kotlin 在 android 中的 editText 上设置文本、焦点、错误

android - 不再需要数据库 - 如何从应用程序中删除数据库?

java - 为什么使用 Jsoup 解析网站时的 HTML 代码与使用浏览器解析网站时不同

java - Spring Boot JSON 返回有时返回空字符串有时返回 null 关键字

java - 4.times闭包的理解

android - android服务未定义布局