一篇文中细看Java多线程的创建方式

 更新时间:2021年07月18日 10:20:07   作者:qq_35926326  
随着计算机的配置越来越高,我们需要将进程进一步优化,细分为线程,充分提高图形化界面的多线程的开发,这篇文章主要给大家介绍了如何通过一篇文中细看Java多线程的创建方式,需要的朋友可以参考下

前言

Java现在有四种创建的方式:继承Threa类、实现Runnable接口、实现Callable接口、线程池

Thread、Runnable都在java.lang包下;Callable、线程池都在java.util.concurrent包下

1.继承Thread类,重写run方法

创建一个类继承Thread类,并重写run();因为run()是线程具体执行的方法。

在测试类或者main()创建Thread对象,并调用start()启动线程

备注:start()是启动线程,run()是线程执行的业务方法

2.实现Runnable接口,通过参数方式创建线程

创建一个类实现Runnable接口并重写run()

在测试类或者main()创建Thread对象,并传入该接口实现类对象,并调用start()启动线程

3.实现Callable接口,通过FutureTask来创建线程

创建一个类实现Callable接口,重写call()call()支持有返回值和抛异常Callable支持泛型

传入Callable对象,创建FutureFask类

    备注:FutureTask实现了Runnable接口;FutureTask.get()可以获取call()返回值

创建Thread对象,并调用start方法启动线程

4.通过线程池方式创建线程

创建一个类实现Runnable或者Callable接口,并重写对应方法

创建一个线程池对象,并执行execute方法启动线程

备注:可以通过线程池方式管理线程个数等配置信息

几种创建方式想必大家都已了解,但在实际开发中大多数都是以线程池来操作线程的;

线程池优势:提升响应速度,提高资源重用率,便于管理

线程的生命周期

总结

到此这篇关于一篇文中细看Java多线程的创建方式的文章就介绍到这了,更多相关Java多线程创建方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java Character类的详解

    Java Character类的详解

    本篇文章主要详细介绍了JAVA中 Character类 方法等,需要的朋友可以参考下
    2017-04-04
  • Java新特性中Preview功能如何运行调试详解

    Java新特性中Preview功能如何运行调试详解

    这篇文章主要为大家介绍了Java新特性中Preview功能如何运行调试详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • java通过反射创建对象并调用方法

    java通过反射创建对象并调用方法

    这篇文章主要介绍了java通过反射创建对象并调用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 详谈Java8新特性泛型的类型推导

    详谈Java8新特性泛型的类型推导

    这篇文章我们来看一篇关于Java8新特性之泛型的类型推导,希望这篇文章能够让各位深入到了解到关于Java8新特性之泛型的类型用法,有需要的朋友们下面来一起看看吧。
    2016-09-09
  • Java InheritableThreadLocal使用示例详解

    Java InheritableThreadLocal使用示例详解

    InheritableThreadLocal继承了ThreadLocal,此类扩展了ThreadLocal以提供从父线程到子线程的值的继承:当创建子线程时,子线程接收父线程具有的所有可继承线程局部变量的初始值。 通常子线程的值与父线程的值是一致的
    2022-09-09
  • Spring Boot 整合单机websocket的步骤 附github源码

    Spring Boot 整合单机websocket的步骤 附github源码

    websocket 是一个通信协议,通过单个 TCP 连接提供全双工通信,这篇文章主要介绍了Spring Boot 整合单机websocket的步骤(附github源码),需要的朋友可以参考下
    2021-10-10
  • 解决IDEA删除子模块并重建后MAVEN无法识别的问题

    解决IDEA删除子模块并重建后MAVEN无法识别的问题

    这篇文章主要介绍了解决IDEA删除子模块并重建后MAVEN无法识别的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • IDEA 中创建SpringBoot 父子模块的实现

    IDEA 中创建SpringBoot 父子模块的实现

    这篇文章主要介绍了IDEA 中创建SpringBoot 父子模块的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SpringBoot读取excel表格的示例代码

    SpringBoot读取excel表格的示例代码

    这篇文章主要介绍了SpringBoot读取excel表格的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • JAVA实现经典扫雷游戏的示例代码

    JAVA实现经典扫雷游戏的示例代码

    windows自带的游戏《扫雷》是陪伴了无数人的经典游戏,本程序参考《扫雷》的规则进行了简化,用java语言实现,采用了swing技术进行了界面化处理。感兴趣的可以学习一下
    2022-01-01

最新评论