首页 > 其他分享 >excute方法和submit方法

excute方法和submit方法

时间:2023-12-03 21:36:20浏览次数:37  
标签:excute execute 异常 get 抛出 submit Future 方法

区别:

  1.参数

    execute  Runnable

    submit     Callable

  2.返回值

    execute :void

    submit :Future

  3.异常

    execute 会在子线程中抛出异常,在主线程捕捉不到
    submit 不会字码抛出异常, 而是会讲一次暂时存起来,等Future.get()方法的时候 ,才会抛出, 可以在主线程捕捉, 处理异常更方便

package org.example.c2;

import java.util.concurrent.*;

/***
 * @Author 徐庶
 * @Slogan 致敬大师,致敬未来的你
 */
public class C3_ExecuteVSSubmit {

    public static void main(String[] args) throws ExecutionException, InterruptedException {
        ExecutorService threadPool = Executors.newFixedThreadPool(5); //一个饭店,5张桌子

        // execute方法和submit有什么区别
        // 1.参数
        // execute Runnable.run
        // submit callable
        // 2.返回值
        // execute void
        // submit Future
        // 3. 异常
        // execute 会在子线程中抛出异常,在主线程捕捉不到
        // submit 不会字码抛出异常, 而是会讲一次暂时存起来,等Future.get()方法的时候
        // ,才会抛出, 可以在主线程捕捉, 处理异常更方便

        // 为什么execute也可以执行带返回值的线程

            Future<?> future = threadPool.submit(() -> {
                int a = 1 / 0;
                System.out.println("执行");
            });
        Object o = future.get();


/*        Future<Integer> future = threadPool.submit(() -> {
            System.out.println("执行...");
            return 5;
        });
        Integer integer = future.get();
        System.out.println(integer); */
    }
}

标签:excute,execute,异常,get,抛出,submit,Future,方法
From: https://www.cnblogs.com/lin513/p/17873817.html

相关文章

  • 软件工程读后感8-代码阅读方法与实践
    最近,我阅读了代码阅读方法与实践的下一部分。在C程序中,指针一般用来:构造链式数据结构、引用动态分配的数据结构、实现引用调用、访问和迭代数据元素、传递数组参数、引用函数、作为其他值的别名、代表字符串、直接访问系统内存。过去,我对于指针的作用的了解不够,将来,我会尽可能的多......
  • 【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几
    简述centos查看日志的几种方法centos查看日志文件内容,包含某个关键字的前后5行日志内容前情提示系统:一说部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤带有#号、删除线、不操作、不执行字样的为提示或者备份bash,实际不执行如果无法下载......
  • Java应用导致CPU使用率过高的排查方法
    1、搭建CentOS7.9,部署JDK8:2、编写测试代码Test.java:publicclassTest{publicstaticvoidmain(String[]args){System.out.println("测试死循环对CPU的影响");while(true){}}}3、编译Test.java:#javacTest.java4、运行Test程序:#jav......
  • python中级之数据类型内置方法
    引子 数据类型是用来记录事物状态的,而事物的状态是不断变化的(如:一个人年龄的增长(操作int类型),单个人名的修改(操作str类型),学生列表中增加学生(操作list类型)等),这意味着我们在开发程序时需要频繁对数据进行操作,为了提升我们的开发效率,python针对这些常用的操作,为每一种数据类型内......
  • 基础-字符串的常用方法
    1、字符串的大小写转换.supper()---小写转换成大写.lower()---转换成小写.title()#单词首字母大写示例代码s="python"s1=s.upper();print(s1)#PYTHONs="PYTHON"s1=s.upper();print(s1)#pythons="ihaveadream"s1=s.title()#单词首字母大写print(s......
  • 基本数据类型的内置方法
    基本类型的内置方法数字类型(一)整型int(二)浮点型float(一)整型int#整型#number='111'#print(number,type(number))#111<class'str'>##1.类型强转,符合int类型格式的字符串强转为整型。#print(int(number),type(int(number)))#111<class'int'>##2.十进制转换为其......
  • 精通C#要点:解析委托、匿名方法与事件
    文章目录委托(Delegate)委托的特性声明委托实例化委托委托的多播(MulticastingofaDelegate)委托的用途匿名方法委托实际应用场景事件(Event)声明事件事件实例1事件实例2事件实例3委托和事件的区别总结 委托(Delegate)委托是对具有特定参数列表和返回类型的方法的......
  • 公众号文章中添加附件的方法
    微附件的作用是给公众号添加附件的,但是由于公众号本身不提供这种服务,所以微附件发挥了重要的传媒功能,他能够将许多不同类型的附件上传。要添加附件首先要知道如何打开微附件的官网:可以利用下方图片中的网址,在浏览器中打开。其次要知道通过正确的方法上传文件,具体有三个方法,都在下方......
  • 数据类型内置方法
    数据类型内置方法介绍八大基本数据类型数字类型整形(int)浮点型(float)字符串(str)列表(list)元组(tuple)布尔(bool)字典(dict)集合(set)【一】整型(int)(1)类型强转可以将由纯整数构成的字符串直接转换成整型符合int类型格式的字符串可以强转成整数类型num='123'print......
  • 极语言3-13任务栏对象、链接对象、存储对象、自动化对象——方法表
    英文名字中文名称作用解释ITaskbarList任务栏对象公开控制任务栏的方法。它允许动态添加、删除和激活任务栏上的项。任务栏对象——方法表QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。AddRef计数递增对象上接口的引用计数。对于指向对象上接口的指针的每个新......