我需要演示异步任务处理,并且我使用Callable对象来执行异步操作,我需要在任务完成时发送通知。到目前为止,我有:
Callable<String> task = () -> {
writeToFile();
return "Write to file op";
}
Future future = executor.submit(task);
Runnable poller = () -> {
if(future!=null) {
while(!future.isDone()) {
}
sendNotification("Completed " + future.get());
}
}
poller.run();
我知道自旋锁通常不会被认为太高,但我想不出另一种模仿传统轮询异步操作的简单方法。我可以用什么来代替自旋锁?