我想向您询问如何解决以下情况的最佳解决方案/想法。我正在开发一个 Android 应用程序,它在一个屏幕上有一组按钮。单击其中任何一个后,一种配置将通过 http 发布到服务器。为了防止多次单击可能导致并发问题,我决定每次单击特定按钮后,在将配置发送到服务器之前会有 30 秒的等待间隔。如果在超过 30 秒之前再次单击同一按钮,则方法的执行将再延迟 30 秒 - 只要没有执行新的单击,就会发送配置。
我需要一个可以实现上述机制的算法的想法。我所知道的是,我不想为每次点击启动一个单独的线程(对我的应用程序来说太重了)。一个潜在的想法是创建一个事件队列并在循环中发送它们,但在线程(或处理程序)中运行无限循环的想法也不是我最喜欢的。
也许在一般的 Android 或 J2SE 中有一种机制,它允许将方法的执行安排到未来的给定时间,但仍然能够在 30 秒推出之前将执行推迟一段时间。
提前致谢!