ScheduledExecutorService

ScheduledExecutorService

我需要在一个电话和另一个电话之间进行一些等待。
问题是这种等待将在库中进行,因此在其中放置Thread.sleep()不是一个好习惯。不涉及任何摇摆,该库是jna接口。

所以..是否有其他适合我的情况?

最佳答案

您可以使用ScheduledThreadPoolExecutor。例如:

ScheduledExecutorService scheduledExecutorService =
        Executors.newScheduledThreadPool(1);

    ScheduledFuture scheduledFuture =
        scheduledExecutorService.schedule(new Callable() {
            public Object call() throws Exception {
                System.out.println("Executed!");
                return "Called!";
            }
        },
        5,
        TimeUnit.SECONDS);


首先,使用一个线程创建一个ScheduledExecutorService

然后,创建Callable接口的匿名实现并将其传递给schedule()方法。最后两个参数指定Callable应在5秒钟后执行。

关于java - Thread.sleep()可以替代吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22918059/

10-11 02:08