• 技术文章 >Java >java教程

    五种方法!Java创建多线程总结

    长期闲置长期闲置2022-03-04 17:19:59转载69
    本篇文章给大家带来了关于java的相关知识,其中主要总结介绍了创建多线程的五种方法,包括了继承Thread类、实现Runnable接口、实现Callable接口、继承TimerTask类和通过线程池启动多线程,希望对大家有帮助。

    推荐学习:《java学习教程

    Java创建多线程的五种方法

    (一)继承Thread类

    1.实现描述

    2.具体步骤

    1)定义UserThread类,继承Thread类
    2)重写run( )方法
    3)创建UserThread对象
    4)调用start( )方法

    3.代码实现

    在这里插入图片描述
    在这里插入图片描述
    执行结果

    4.注意事项

    (二)实现Runnable接口

    1.实现描述

    2.具体步骤

    1)定义一个UserRun类,实现Runnble接口
    2)重写run( )方法
    3)创建UserRun类的对象
    4)创建Thread类的对象,UserRun类的对象作为Thread类构造方法的参数
    5)启动线程

    3.代码实现

    在这里插入图片描述
    在这里插入图片描述
    输出结果

    4.注意事项

    (三)实现Callable接口

    1.实现描述

    2.具体步骤

    1)定义类UserCallable,实现Callable接口
    2)重写call( )方法
    3)创建UserCallable的对象
    4)创建RunnableFuture接口的子类FutureTask的对象,构造函数的参数是UserCallable的对象
    5)创建Thread类的对象,构造函数的参数是FutureTask的对象
    6)启动线程

    3.代码实现

    在这里插入图片描述
    在这里插入图片描述
    输出和结果

    4.注意事项

    (四)继承TimerTask类

    1.实现描述

    2.具体步骤

    1)定义类UserTimerTask,继承抽象类TimerTask
    2)创建UserTask类的对象
    3)创建Timer类的对象,设置任务的执行策略

    3.代码实现

    在这里插入图片描述
    在这里插入图片描述

    输出结果

    4.注意事项

    (五)通过线程池启动多线程

    1.实现描述

    2.实现方法

    1) FixThreadPool(int n)固定大小的线程池

    (1)具体步骤

    ① 通过Executors.newFixedThreadPool(5)创建固定大小的线程池
    ② 重写Runnable类的run( )方法,并使用线程池执行任务
    ③ Shutdown( )关闭线程池

    (2)代码实现

    在这里插入图片描述
    执行结果

    (3)注意事项

    2)SingleThreadExecutor( )单线程池

    (1)具体步骤

    ① 通过Executors.newSingleThreadExecutor( )创建单线程池
    ② 重写Runnable类的run( )方法,并使用线程池执行任务
    ③ Shutdown( )关闭线程池

    (2)代码实现

    在这里插入图片描述
    执行结果

    (3)注意事项

    3)CachedThreadPool( )缓存线程池

    (1)具体步骤

    ① 通过Executors.newCachedThreadPool( )创建尽可能多的线程池
    ② 重写Runnable类的run( )方法,并使用线程池执行任务
    ③ Shutdown( )关闭线程池

    (2)代码实现

    在这里插入图片描述
    执行结果

    (3)注意事项

    4)ScheduledThreadPool(int n)定时周期性线程池

    (1)具体步骤

    ① 通过Executors.newScheduledThreadPool(5)创建固定核心线程数(最小维护的线程数,线程创建后不会被回收)的线程池,线程按计划定期执行。
    ② 重写Runnable类的run( )方法,并使用线程池执行任务
    ③ Shutdown( )关闭线程池

    (2)代码实现

    在这里插入图片描述
    执行结果

    (3)注意事项

    5)WorkStealingPool( )新线程池类ForkJoinPool的扩展

    (1)具体步骤

    ① 通过Executors.newWorkStealingPool( )创建线程池
    ② 重写Runnable类的run( )方法,通过Thread类的对象调用Runnable类的对象,使用线程池执行任务
    ③ Sleep( )让主线程等待子线程执行完毕,也可以使用计数器的方式
    ④ Shutdown( )关闭线程池

    (2)代码实现

    在这里插入图片描述
    执行结果

    (3)注意事项

    推荐学习:《java教程

    以上就是五种方法!Java创建多线程总结的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:java
    上一篇:实例详解Java反序列化之反射机制 下一篇:详细介绍23种Java常见设计模式
    PHP编程就业班

    相关文章推荐

    • javascript怎么计算2的几次方• javascript有哪些库• javascript是什么框架• javascript怎么让li隐藏• javascript中数字占多少位bit• 实例详解Java反序列化之反射机制

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网