我正在用 Java 开发一个简单的测试框架,它需要通过响应 JMS 调用来模拟 weblogic 部署。测试配置选项之一是延迟以模拟延迟。我想知道是否有人对如何执行此操作有任何好的想法。我只是想创建一个 TimerTask 来处理它,有没有更好的方法?谢谢。
最佳答案
您可以创建一个 ScheduledExecutorService 来执行您在延迟后执行的操作。
private final ScheduledExecutorService executor =
Executors.newSingleThreadScheduledExecutor();
// is main loop, waits between 10 - 30 ms.
executor.schedule(new Runnable() { public void run() {
// my delayed task
}}, 10 + new Random().nextInt(20), TimeUnit.MILLI_SECOND);
编辑:您可以使用 Concurrency Backport对于 JDK 1.4。它适用于 JDK 1.2 到 JDK 6
关于java - 在 Java 中模拟延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153314/