Java 中的异步和同步回调

javaobject oriented programmingprogramming更新于 2024/11/8 23:08:17

Sun Microsystems 最初于 1995 年推出了 Java,一种编程语言和计算平台。它从不起眼的起源发展成为当今数字世界的很大一部分,为众多服务和应用程序的开发提供了坚实的基础。Java 仍然用于为未来开发的尖端商品和数字服务。

Java 中的异步和同步是什么?

Java 的异步编程范式使团队能够分配工作负载并开发主应用程序线程之外的应用程序功能。当团队准备好功能时,代码将与主线程同步。

Java 的同步功能允许管理许多线程对任何共享资源的访问。在多线程概念中,多个线程试图同时访问相同的共享资源,导致结果不稳定。为了在线程之间实现可靠的通信,需要同步。

Java 中的回调是什么?

CallBack 关键字在与许多其他编程语言的协作中定义了 JAVA 编程中的函数。CallBack 特性是另一个特性的争议。CallBack 特性在特定议程上触发特定事件后运行。CallBack 特性背后的真正原因是告诉特定类有关其他类的运行声誉。当我们处理一些异步任务时,CallBack 函数很有用。当使用"事件处理程序"时,回调也很有用,因为它在用户单击前端的按钮时提供几种形式的通知。因此,我们可以假设 CallBack 函数在执行常规编程任务时起着重要作用,包括 B. 出现各种操作和从网络下载一些事实。至于 JAVA 编程语言中 CallBack 属性的应用,可以通过使用接口来实现。让我们记住在 JAVA 编程中执行 CallBack 函数的现代方法。

回调功能的实现中使用的方法?

  • 我们首先定义回调后需要调用的接口方法。

  • 要实施接口回调方法,请定义一个类。

  • 要注册回调接口,请设置对随机类型的引用。

  • 使用描述的引用调用 CallBack 方法。

Java 中的回调类型?

  • 同步调用

  • 异步调用

同步调用语法

  • 步骤1 − 创建一个接口。

  • 步骤 2 − 创建一个 void 表达式。

  • 步骤 3 − 创建一个类目录

  • 步骤 4 − 创建一个 public void。

示例

// 这是一个 Java 程序,用于理解
// "异步调用"的实现。

interface ExampleEventListener {
    // 任何类型的方法
    // 都可以在下面定义
    void exampleEvent();
}

// 定义一个随机类
// 其中还定义了主要部分
public class Example2 {
    private ExampleEventListener mListener; // 这是监听器字段
    
    // 使用 public
    // 访问修饰符和 void 返回类型设置下面的监听器
    public void registerExampleEventListener(ExampleEventListener mListener) {
    this.mListener = mListener;
    }
    
    // 这是我需要执行的同步任务。
    public void myStuff() {
    
        // 异步任务总是在新线程中执行
        // 因此必须创建新线程才能执行。
        
        System.out.print("正在执行的任务 ");
        System.out.println("这是同步任务");
        
        // 检查侦听器是否已注册。
        if (this.mListener != null) {
            // 调用 ExampleEventListener 类的回调方法
            mListener.exampleEvent();
        }
    }
   public static void main(String[] args) {
      Example2 obj = new Example2();
      ExampleEventListener mListener = new Myclass();
      obj.registerExampleEventListener(mListener);
      obj.myStuff();
   }
}

class Myclass implements ExampleEventListener {
   @Override
   public void exampleEvent() {
      System.out.print("Performing callback after ");
      System.out.print("the completion of the synchronous task");
      // 执行任何随机例行操作
   }
   // 一些 Myclass 方法
}

输出

The task being performed here is a synchronous task
Performing callback after the completion of the synchronous task

从重要的输出中我们得知,使用 JAVA 编程语言中的 CallBack 方法进行同步调用的作用是可以理解的。我们可以观察到讨论的每个步骤都与上述程序相关。在上面提到的中,我们在程序中使用了事件监听器接口。

何时使用同步调用?

当程序中的多个任务需要按特定顺序一个接一个地执行时,我们使用同步调用。耗时较少的任务也被认为是同步调用的。

异步调用语法

  • 步骤 1 - 创建接口。

  • 步骤 2 - 创建 void 类。

  • 步骤 3 - 创建公共 void 类。

  • 步骤 4 - 创建公共 void。

示例

interface ExampleCallEventListener {
   void exampleCallEvent();
}

public class Example1 {

   private ExampleCallEventListener mListener;

   public void registerExampleCallEventListener(ExampleCallEventListener mListener) {
      this.mListener = mListener;
   }

   public void myStuff() {
      new Thread(new Runnable() {
         public void run() {
            System.out.println("This is an example and tutorial here");

            if (mListener != null) {
               mListener.exampleCallEvent();
            }
         }
      }).start();
   }

   public static void main(String[] args) {
      Example1 obj = new Example1();
      ExampleCallEventListener mListener = new MyClass();
      obj.registerExampleCallEventListener(mListener);
      obj.myStuff();
   }
}

class MyClass implements ExampleCallEventListener {
   
   @Override
   public void exampleCallEvent() {
      System.out.println("Performing callback after the completion of an Async Task");
   }
}

输出

This is an example and tutorial here
Performing callback after the completion of an Async Task

从上述程序中我们了解到,我们可以使用 JAVA 编程语言中的 CallBack 方法接受异步调用的角色。我们可以观察到创建了一个新线程,并在该线程内调用回调。我们在程序中使用了事件侦听器接口。

何时使用异步调用?

我们在程序任务不相互依赖的情况下使用异步调用,因此一个任务中的中断不会影响其他任务。需要更长时间的任务也被认为是异步的。

同步和异步调用之间的区别是 Java

定义

同步调用是一种回调,其中执行代码在继续之前等待事件。另一方面,异步调用是指不阻止事务的回调。这是 Java 中同步和异步调用之间的主要区别。

函数

Java 既有同步调用,也有异步调用,它们在等待事件时处理代码执行的方式不同。与同步调用或回调不同。异步调用允许程序在此等待期间继续执行代码。

应用程序

程序员可以根据任务完成需求使用两种不同的回调方法 - 同步或异步,具体取决于哪种方法最适合他们。同步回调在执行需要最少处理时间的常规任务时非常有用,而异步回调则适合执行时间较长的更复杂、更不连贯的进程。类似地,同步调用和异步调用在基于 Java 的编码实践中也各不相同,没有例外。

结论

实施 Java 编程允许同时使用同步和异步调用。与异步调用执行不同(异步调用中程序可以不间断地执行额外的代码片段),同步调用要求在系统或程序采取任何进一步的操作之前发生事件。


相关文章


有用资源