我需要在一个电话和另一个电话之间执行一些等待。 问题是这个等待将在库中进行,因此将Thread.sleep()放在那里不是一个好习惯。没有涉及摇摆,这个库是一个jna界面。
那么..有什么替代方案适合我的情况吗?
答案 0 :(得分:1)
您可以使用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()
方法。最后两个参数指定应在5秒后执行Callable
。