首页 > 编程语言 >Java异步同步回调

Java异步同步回调

时间:2023-04-14 13:45:00浏览次数:36  
标签:异步 同步 Java void System println new public out

同步回调:

打印结果:
1
2
3

    public interface Result {
        void callBack();
    }

    public static void main(String[] args) throws InterruptedException {
        Entity entity = new Entity();
        entity.task(() -> System.out.println("2"));
        System.out.println("3");
    }

    public class Entity {
        public void task(Result cb){
            try {
                Thread.sleep(3000);
                System.out.println("1");
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            cb.callBack();
        }
    }

异步回调:

打印结果:
1
2
3

和上面唯一的不同点在于

new Thread(()->{
entity.task(() -> System.out.println("3"));
}).start();

    public interface Result {
        void callBack();
    }

    public static void main(String[] args) throws InterruptedException {
        Entity entity = new Entity();
        new Thread(()->{
            entity.task(() -> System.out.println("3"));
        }).start();
        System.out.println("1");
    }

    public class Entity {
        public void task(Result cb){
            try {
                Thread.sleep(3000);
                System.out.println("2");
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            cb.callBack();
        }
    }

标签:异步,同步,Java,void,System,println,new,public,out
From: https://www.cnblogs.com/laremehpe/p/17318048.html

相关文章

  • java 如何判断对象是否是垃圾
    引用计数法给对象添加一个引用计数器,当对象增加一个引用时计数器加1,引用失效时计数器减1。引用计数为0的对象就是垃圾可被回收比如a线程中某个栈帧使用某个对象,这个对象的引用计数器+1,调用结束,引用计数器-1这个方法实现简单,效率高,但是并不可取,当循环引用时,引用计数器永......
  • android:keytool生成应用签名证书(java 15)
    一,查看是否已安装keytoolkeytool命令的程序位于jdk的安装目录/bin下,1,查看是否有keytool命令已安装?[lhdop@blog~]$ls/usr/local/soft/jdk-17/bin/keytool/usr/local/soft/jdk-17/bin/keytool2,查看帮助:列出可用的命令[lhdop@blog~]$keytool--helpKeyandCert......
  • 在 Java 中重采样音频
    在我的一个项目中,我需要将PCM音频数据重新采样为不同的采样率。我正在使用javax.sound.sampled.AudioSystem来完成这项任务。重新采样似乎会在帧的开头和结尾添加额外的样本。下面是一个最小的工作示例......
  • Java SpringBoot 中,动态执行 bean 对象中的方法
    根据不同的条件,调用不同的bean对象,执行对象中的方法SpringUtils工具类packagecom.vipsoft.web.utils;importcn.hutool.core.util.ArrayUtil;importorg.springframework.aop.framework.AopContext;importorg.springframework.beans.BeansException;importorg.sprin......
  • 原型及原型链-JavaScript教程
    JavaScript是世界上最流行的脚本语言。JavaScript是属于web的语言,它适用于PC、笔记本电脑、平板电脑和移动电话。JavaScript被设计为向HTML页面增加交互性。许多HTML开发者都不是程序员,但是JavaScript却拥有非常简单的语法。几乎每个人都有能力将小的JavaScript......
  • Java基础--数据结构
    数据结构Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:枚举(Enumeration)、位集合(BitSet)、向量(Vector)、栈(Stack)、字典(Dictionary)、哈希表(Hashtable)、属性(Properties)以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection)Java......
  • Java: Random
     /***版权所有2023涂聚文有限公司*许可信息查看:*描述:*用100元买100只鸡,大公鸡5元一只,母鸡3元1只,小鸡一元3只,问各能买多少只?*历史版本:JDK8.01*2023-03-12创建者geovindu*2023-03-12添加Lambda*2023-03-12修改:date*接口类*2023-03-12修改......
  • Java_JSTL_extend function tags
    1.createthefunctionclasspackagecn.com.benyoyo.manage.core.common.tools;publicclassElExFuncs{publicstaticintlastIndexOf(Stringtext,StringsearchString){if(text==null)text="";if(searchString==null)searchString="&q......
  • Java_JVM的内存溢出异常
     JVM的内存溢出异常在Java虚拟机规范的描述中,除了PC(程序计数器)寄存器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError异常的可能。当发生OutOfMemoryError异常时,无法用try...catch捕捉。 在开始讲解之前,在这里先简单介绍下虚拟机启动相关的一些内存设置参数。因为Ou......
  • Java_Double&BigDecimal
    importjava.math.BigDecimal;importjava.math.MathContext;publicclassBigDecimalTest{/***@paramargs*@referencearchie2010*@function实现将double类型的值转换为BigDecimal类型的值的不同途径以及各途径间的区别*......