首页 > 编程语言 >Java中Runnable和Callable的区别 Runnable接口

Java中Runnable和Callable的区别 Runnable接口

时间:2023-04-24 20:12:38浏览次数:39  
标签:Runnable java 接口 Callable Java ExecutorService

Callable接口 从Java 1.0开始,它是java.lang包的一部分 从Java 1.5开始,它是java.util.concurrent包的一部分。

Runnable接口不能返回计算的结果。 Callable接口可以返回一个任务的并行处理的结果。

Runnable接口不能抛出一个有检查的异常。 Callable接口可以抛出一个有检查的异常。 在一个可运行接口中,人们需要覆盖Java中的run()方法。

为了使用Callable,需要覆盖 call()

 

Callable接口和Runnable接口是用来封装需要由另一个线程来执行的任务的。然而,Runnable实例可以由Thread类和ExecutorService运行,但Callable实例只能通过ExecutorService执行。

标签:Runnable,java,接口,Callable,Java,ExecutorService
From: https://www.cnblogs.com/zeenzhou/p/17350728.html

相关文章

  • java反序列化(五) JNDI注入
    JNDI注入前置知识JNDIJNDI(JavaNamingandDirectoryInterface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。可以通过字符串来锁定一个对象JNDI支持的服务主要有以下几种:RMI(JAVA远程方法调用)LDAP(轻量级目录访问协......
  • Java中null和“”的区别
    null和空字符串('')虽然都是没有任何内容,但是null却输出空指针异常,因为堆内存中根本就没有这个东西。他们的区别可相当大,虽然都是没有信息,但是null代表堆内存中根本没有这个东西,这个对象不存在,怎么执行indexof操作?空字符串虽然没有信息,但是是有内存空间的,所以null与空字符串主要......
  • springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、j
    由于在开发业务时,可能同时调用的存储过程不知道参数,但是参数从界面、或已经存储在数据库的获取,所以就不希望手动写存储过程的参数,通过简化的调用。能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来,这个就通用了。只写一个通用方法,就可以......
  • Java 依赖注入(DI)
    只要做过Java一段时间,基本上都会遇到这个问题。DependencyInjection(DI)中文称之为依赖注入。都说了Spring的关键部分就是DependencyInjection(DI),但是什么是依赖,为什么要注入,基本上没怎么找到使用简单文字说明的本文尝试用土话把这个问题说明白。这里有2个概念,依赖和注入。......
  • java -- 注解
    注解注解概述定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。作用分类:编写文档:通过代码里标识的注解生成......
  • Java
    HashSetcontainsaddStack+emptypeekpoppush(add)sizeHashMapvalueOf(value)get(key),put(key,value),isEmpty()containsKey(key)containsValue(value)remove(key)cnt.merge(x,1,Integer::sum);QueueQueueq=newLinkedList<>();Priorit......
  • 云原生周刊:2023 年 Java 开发人员可以学习的 25 大技术技能
    文章推荐2023年Java开发人员可以学习的25大技术技能这篇文章为Java开发人员提供了2023年需要学习的一些重要技能,这些技能涵盖了现代Java开发、大数据和人工智能、安全性、分布式系统和区块链、以及其他领域。Java开发人员应该根据自己的需求和职业规划,选择适合自己......
  • JAVA下载图片压缩zip
    1.支持多张图片下载/***下载附件zip*/@PostMapping("downloadZip")publicvoiddownloadZip(@RequestBodyShipmentAnnexVoshipmentAnnexVo,HttpServletRequestrequest,HttpServletResponseresponse){shipmentAnnexService.downloadZip(shipmentAnnexVo,request,......
  • WebSphere Message Broker -JavaCompute组件的使用
      IBMWebSphereMessageBrokerJavaCompute节点的使用. importjava.util.List;importcom.ibm.broker.javacompute.MbJavaComputeNode;importcom.ibm.broker.plugin.*;publicclassSub_FFN_JavaComputeextendsMbJavaComputeNode{ privatefinalArticleCreator......
  • 【Linux】yum安装Java环境,并配置环境变量
    查看系统是否安装过javayumlistinstalled|grepjava如果有旧版本的java,且你自己不需要,可以用如下方法卸载所有的java(后边的*符号是通配符)yum-yremovejava-1.8.0-openjdk*查看java软件包列表yumlistjava*注意​ 这里一定要安装openjdk的开发版本(......