有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

网络JAVA:如何仅在特定时间段内接受输入

我试着做一个简单的游戏,我不断地需要玩家的输入。这只需要在特定的时间段内发生。之后发送的所有内容都将被丢弃。一段时间后,新游戏开始。所以:

  1. 开始比赛
  2. 在10秒内等待所有玩家的输入
  3. 10 secs no more input

  4. 计算胜利者并做一些事情
  5. 转到1

我在考虑使用计时器和timertask来跟踪时间,或者使用一个布尔变量,在10秒后从“打开”变为“关闭”?请给我一些建议


共 (1) 个答案

  1. # 1 楼答案

    是的,你需要一个计时器,某种形式的“打开/关闭”标志就是最好的选择

    确保标记为“volatile”,以便所有读取输入的线程都能立即看到更改

    仔细想想,你甚至可能会想到让计时器任务中断每个读线程,这样它们都会立即被告知,而不是在它们出现检查时被告知