Java 除了Thread.sleep(),还有其他选择吗?

Java 除了Thread.sleep(),还有其他选择吗?,java,Java,我需要在一个电话和另一个电话之间进行一些等待。 问题是这种等待将在库中进行,所以在库中放置Thread.sleep()不是一种好的做法。不涉及swing,该库是一个jna接口 那么..有适合我的情况的替代方案吗?你可以使用。例如: ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1); ScheduledFuture scheduledFuture

我需要在一个电话和另一个电话之间进行一些等待。 问题是这种等待将在库中进行,所以在库中放置Thread.sleep()不是一种好的做法。不涉及swing,该库是一个jna接口

那么..有适合我的情况的替代方案吗?

你可以使用。例如:

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()
方法。最后两个参数指定可调用的
应在5秒后执行。

阻塞调用?那么
wait()
method呢?您也可以生成另一个线程。我们使用的是Java 8,需要更多的lambda:)