欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java多线程的几种实现方法

发布时间:2025/7/14 java 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java多线程的几种实现方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • 继承Thread类
  • public class MyThread extends Thread { public void run() { System.out.println("MyThread.run()");} } public static void main(String [] args ){ MyThread myThread1 = new MyThread(); MyThread myThread2 = new MyThread(); myThread1.start(); myThread2.start(); }
  • 实现Runable接口
  • public class MyThread extends OtherClass implements Runnable { public void run() { System.out.println("MyThread.run()"); } public static void main(String[] args){MyThread myThread = new MyThread(); Thread thread = new Thread(myThread); //实例化Thread传入Runable targetthread.start(); } }

    事实上,当传入一个Runnable target参数给Thread后,Thread的run()方法就会调用target.run(),参考JDK源代码:

    public void run() { if (target != null) { target.run(); } }

    实现Runnable接口相对于扩展Thread类来说,具有很大的优势。这种方式不仅有利于程序的健壮性,使代码能够被多个线程共享,而且代码和数据资源相对独立,从而特别适合多个具有相同代码的线程去处理同一资源的情况。
    后面两种情况不常用:
    3. 实现Callable接口通过FutureTask包装器来创建Thread线程。

    实现Callable接口,新建当前类对象,再新建FutureTask类对象时传入当前类对象,接着新建Thread类对象时传入FutureTask类对象,最后运行Thread对象的start()方法新建当前类对象。

    4.使用ExecutorService、Callable、Future实现有返回结果的多线程。

    转载于:https://www.cnblogs.com/jiaorenzhan/p/10623950.html

    总结

    以上是生活随笔为你收集整理的Java多线程的几种实现方法的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。