我是一名 C# 开发人员,现在开始过渡到 Java...并开始比较功能
我在 Java 并发中遇到了这个 Future https://docs.oracle.com/javaee/6/tutorial/doc/gkkqg.html 根据它说的文档示例 即使支付处理器花费很长时间,客户端也可以继续工作,并在处理最终完成时显示结果。
那么我们可以假设 Future 与 c# async await 相同..如果不是请让我知道区别...
根据我的知识同步,等待我在我们的移动操作中使用过 不希望 UI 线程在与 api 或服务交互时被阻塞。
最佳答案
Future
只是一个接口(interface)。它本身无法异步处理任何事情。当您提交一些要在 ExecutorService
中异步执行的工作时,您会收到一个 Future
对象。使用 Future.get()
阻塞当前线程,直到结果准备好。当然,在提交工作和尝试获取结果之间,您应该在当前线程中做一些有用的事情。
关于Java Future 与 C# async await,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33616783/