当前位置: 首页 > 面试题库 >

使代码在给定间隔内自动运行

长孙鸿
2023-03-14
问题内容

我对使代码在给定间隔内自动运行有一些疑问。我正在编程一种游戏模式,其中它检查玩家是否杀死了地图上的所有怪物(我有解决这些问题的方法)。我想知道编程此检查的最佳方法是什么?我已经研究了在类构造函数中某个人创建ScheduledExecutorService的方式。

private ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();

但是我在网上看到人们在哪里

static void main(String[] args) {

并用run方法进行检查。哪个更好?我只是想拥有每隔几秒左右运行一次的检查,查看玩家是否清除了地图,是否清除了地图,然后进行下一阶段。


问题答案:

我认为您可以在玩家杀死任何怪物时进行检查。也许您想听一个KillMonster事件。您可以创建接口并在其他类中实现。

public interface KillMonsterEventListener {
    void onKillMonster ();
}

然后,在播放器类中,您可以调用一个方法来调用onKillMonster()所有事件侦听器。我想您知道该怎么做。只需创建一个的列表,KillMonsterEventListener并使用类似以下方法:

public void addKillMonsterEventListener (KillMonsterEventListener listener) {
    listeners.add (listener); //listeners is the list of KillMonsterEventListeners.
}


 类似资料:
  • 假设您有一个间隔列表,例如[(0 4),(1 3),(2 5),(2 6)]。此列表未排序。然后给您一个范围,如[1 5]。您必须返回适合范围内的间隔数。在这个问题中,它将返回2。((1 3)和(2 5)) 间隔列表保持不变,但我们最多得到100000个查询,每个查询由一个范围组成。对于每个范围查询,我们必须返回适合其中的间隔数。 在研究之后,我读到了间隔树。但是,您只能查询与任何给定范围重叠的间

  • 桌面视频 我想选择从给定时间间隔6个月的行。新的还是旧的 因此,如果查询时间为例如1446076800,则将选择比该时间早6个月或新6个月的所有行。 采用UNIX TIMESTAMP格式。 因此,如果一个视频是在2015年10月上传的,所有在2015年4月上传的视频和更新的视频都将被选中。从2015年10月到2016年4月的所有视频也将被选中。

  • 假设我有一个这样的范围列表 现在我想找到一个范围,比如。我的算法应该给我这个范围的所有范围。例如,这个的输出应该是 <代码>输出-[1,3]、[2,5]、[4,6]、[8,10] 我该如何着手解决这个问题? PS:我知道段树可能会有所帮助。我可以在其中构建树来存储间隔并查询位于间隔内的Point,但如何在给定间隔的情况下获取所有间隔。

  • 问题内容: 我想运行Java代码一定时间,例如16个小时!我有一个大约运行一个小时的Java代码,我希望它可以重复运行16小时。因此,我有一个用户通过Jenkins传递的参数!我使用访问此值 现在,我想在指定时间后退出执行。因此,假设用户选择了16,脚本应运行16个小时,然后退出。 如图所示,接受来自Jenkins用户的输入 我看到了其他一些问题,但是其中大多数问题与计时器处理的时间不是几秒钟就是

  • 我需要知道不同事件发生的频率。例如,在过去 15 分钟内发生了多少个 HTTP 请求。由于可能有大量的事件(数百万个),因此必须使用有限的内存量。 Java中有什么util类可以做到这一点吗? 如何在Java中实现这个自我? 理论用法代码可以如下所示: 编辑:它必须是一个实时值,可以在一分钟内更改数千次,并且将在一分钟内查询数千次。基于数据库或文件的解决方案是不可能的。

  • Spring计划的cron作业在计划时间内运行了两次。 使用spring 4.2.5版本。 REST API- web.xml如下。 任务条目的spring应用程序上下文xml文件。 春豆如下。