Java 中的异步调用2024年9月10日 | 阅读 6 分钟 在本文中,我们将学习 Java 编程语言中的异步调用。在文章的最后,我们将清晰地了解异步调用及其与 Java 编程语言中的同步调用的区别。首先,让我们了解一下在编程意义上的“回调”。 Java 中的回调是什么?CallBack 关键字用于在 Java 编程以及许多其他编程语言中定义函数。回调函数是作为参数传递给另一个函数的。回调函数将在程序中发生特定事件后执行。回调函数的真正目的是告知特定类有关另一个类中工作的状态。 当我们处理一些异步任务时,回调函数很有用。在使用“事件处理”时,回调也很有用,因为它用于在用户单击界面上的按钮时提供某种通知。因此,我们可以理解,回调函数在执行程序中的例行任务(例如执行各种操作和从网络获取数据)时起着至关重要的作用。至于在 Java 编程语言中实现回调函数,可以使用接口来实现。让我们看看在 Java 编程中实现回调函数的标准过程。 实现回调函数遵循的步骤
Java 中的回调类型
什么是同步调用?一种阻止程序执行其代码的调用,一旦事件返回响应或完成,调用就从事件返回到回调函数的调用称为同步调用。所有操作都由回调在返回到语句之前执行。 同步调用等待执行,因此完成程序所需的时间比实际时间要长。我们可以在这些类型的程序中发现显著的时间延迟。同步调用中的任务是按顺序执行的。因此,当问题必须按顺序完成且问题不需要太多时间时,用户可以使用同步调用。代码的执行暂停,代码在恢复之前等待事件。同步调用的过程就是这样进行的。现在,让我们通过一个 Java 程序来理解同步调用。 Example2.java 输出 The task that is being performed here is synchronous task Performing callback after the completion of Synchronous task 解释 通过了解上述程序,我们可以理解同步调用在 Java 编程语言中使用回调方法的作用。我们可以观察到,上面程序中包含了讨论的每一步。如上所述,我们在程序中使用了事件监听器接口。 何时使用同步调用? 我们在需要按特定顺序一个接一个地执行多个任务的情况下使用同步调用。耗时较短的任务也属于同步类型。 什么是异步调用?一种不会阻止程序执行其代码的调用,一旦事件完成,调用就从事件返回到回调函数的调用称为异步调用。为了避免这种情况,必须创建一个新线程,并且在 Java 编程的上下文中,回调方法应该在线程内调用。不一定必须在线程内调用回调方法。回调在被调用时也可以创建一个新线程,从而使调用异步。 异步调用中的任务是并行或同时执行的,即,如果一个任务在特定时间执行,那么另一个任务也可以在同一时间工作,而无需等待前一个任务完成。因此,当问题非常大且任务必须并行完成,并且任务之间不相互依赖时,用户或程序员可以使用异步调用。在这种调用中,代码的执行不会被要求等待。异步调用的过程就是这样进行的。现在,让我们通过一个 Java 程序来理解异步调用。 输出 This is Example and Tutorial here Performing callback after the completion of an Async Task 解释 通过了解上述程序,我们可以理解异步调用在 Java 编程语言中使用回调方法的作用。我们可以观察到,创建了一个新线程,并且回调本身在该线程内被调用。如上所述,我们在程序中使用了事件监听器接口。 何时使用异步调用? 我们在程序中的任务之间不相互依赖的情况下使用异步调用,因此一个任务的执行暂停不会影响其他任务。耗时较长的任务也属于异步类型。 下一主题Java 中的最小窗口子串 |
问题陈述:找到最佳路线以绘制一条穿过砖墙的垂直线,使其与最少数量的砖相交,这是“最少可相交砖数”问题的基础。使用二维数字列表表示...
阅读 4 分钟
在 Java 中,非检查异常也称为运行时异常。非检查异常是异常的一个子集,不需要使用 throws 关键字在方法签名中声明。它们继承自 RuntimeException 类,该类本身是 Exception 的子类...
阅读 8 分钟
JDK 8 引入了 DoublePredicate 接口。一个名为 DoublePredicate (java.util.function.DoublePredicate) 的函数式接口在其内部指定了三个默认方法和一个抽象方法。这个接口是 Predicate 接口的一个更专业的版本。因为它只有一个抽象方法 test (double value)...
阅读 3 分钟
在上一个部分,我们讨论了许多通常在面试中会问到的数字程序。在本节中,我们将讨论什么是三次方数以及如何检查一个数字是否是三次方数。三次方数:如果一个数 T 满足……
5 分钟阅读
Java 中的序列化是一种机制,通过该机制可以将对象转换为字节流,以便写入文件或通过网络发送,存储在数据库中。序列化的逆过程是反序列化,通过该过程可以从...重建对象
5 分钟阅读
字符串排列是计算机科学中一个引人入胜的问题,它涉及重新排列字符串的字符以创建所有可能的唯一组合。在 Java 中,高效地解决此问题需要对字符串操作和递归有扎实的理解。在本节中,我们将深入探讨各种...
5 分钟阅读
与原始类型类似,Java 使将对象作为参数传递给方法变得更加容易。重要的是要认识到,将对象作为参数传递仅仅传递了指向该对象的引用,而不是它的副本。这意味着对该对象所做的任何更改...
5 分钟阅读
回文串分区是将字符串分解成不同部分的过程。字符串,以便每个字符串都是一个回文串。回文串是指可以从前向后(例如“race car”)或从后向前读取的字符序列。这个问题已找到应用……
5 分钟阅读
Java 是一种面向对象的编程语言。作为一种面向对象的编程语言,它所有的类和机制都围绕着对象。面向对象的一个概念是 Java 中的可变性和不可变性。Java 中的对象要么是可变的,要么是不可变的;这取决于对象如何被……
阅读 4 分钟
每个国家都有自己的手机号码格式。要验证每个国家的手机号码非常困难。因此,在本节中,我们将学习如何使用正则表达式和 Google 的 libphonenumber API 在 Java 中验证手机号码。在本节中,我们将创建一个 Java...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India