美文网首页
Java开启多线程的三种方法

Java开启多线程的三种方法

作者: 汇源可乐 | 来源:发表于2019-11-10 19:57 被阅读0次

开启多线程的三种方法

0x01:继承\color{blue}{Thread} 类,重写\color{green}{run()} 方法,在\color{green}{run()}方法体中编写要完成的任务
0x02:实现\color{blue}{Runnable}接口,实现\color{green}{run()} 方法,并把实现\color{blue}{Runnable}接口的对象作为target传入\color{blue}{Thread}的构造方法启动线程
0x03:实现\color{blue}{Callable}接口,实现\color{green}{call()} 方法,使用\color{blue}{FutureTask}类来包装\color{blue}{Callable}对象,使用\color{blue}{FutureTask}对象作为target传入\color{blue}{Thread}的构造方法启动线程,调用\color{blue}{FutureTask}\color{green}{get()}方法来获得子线程执行结束后的返回值

第一种方式

static class MyThread extends Thread{
        public MyThread() {
            super(MyThread.class.getSimpleName());
        }
        @Override
        public void run() {
            super.run();
            //Todo
            System.out.println(currentThread().getName());
        }
    }

    static void crateThread()
    {
        MyThread thread=new MyThread();
        thread.start();
    }

console输出:    MyThread

第二种方式

Runnable runnable=new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName());
            }
        };
        Thread thread=new Thread(runnable);
        thread.setName("0x02");
        thread.start();

console输出:    0x02

第三种方式

  static class MyCallable implements Callable {
        @Override
        public Object call() throws Exception {
            return 10086;
        }
    }

 public static void threadExamples() {
        MyCallable myCallable = new MyCallable();
        FutureTask<Integer> ft = new FutureTask<>(myCallable);
        new Thread(ft).start();
        try {
            System.out.println(ft.get());
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }

console输出:    10086

FutureTask源码分析

相关文章

  • Java多线程-实例解析

    Java多线程实例 3种实现方法 Java中的多线程有三种实现方式: 1.继承Thread类,重写run方法。Th...

  • Java中创建多线程的方法

    Java中创建多线程的三种方法: 继承 Thread 类class MyThread extends Thread...

  • 网路基础篇-多线程

    开启多线程主要的三种方法NSThread、GCD、 NSOperation。 1.NSThread 1> 开线程的...

  • 线程

    目录: 线程与进程的关系:什么叫“并发”?什么叫“并行”?多线程的好处:Java 的创建多线程的方法(三种):线程...

  • java中的几种多线程

    java中有三种多线程: 需要注意的是,无论用那种方式实现了多线程,调用start方法并不意味着立即执行多线程代码...

  • Java开启多线程的三种方法

    开启多线程的三种方法 0x01:继承 类,重写 方法,在方法体中编写要完成的任务0x02:实现接口,实现 方法,并...

  • (1)如何开启多线程

    前言 学习java多线程首先就是要知道如何开启多线程.在java中开启多线程主要有两种方式: 继承Thread类,...

  • java 多线程创建及运行

    java多线程实现方式1.1 三种创建线程的方式 继承Thread类,重写run()方法 实现Runable()接...

  • 5月份第一周学习安排

    学习内容: java多线程及线程同步的方法(使用) java多线程各种同步方法的原理和优缺点 java多线程设计模...

  • 多线程数据传递用法总结

    多线程数据传递用法总结 本文参考: 李宁- Java多线程初学者指南(7):向线程传递数据的三种方法 大纲: Ja...

网友评论

      本文标题:Java开启多线程的三种方法

      本文链接:https://www.haomeiwen.com/subject/fwyabctx.html