美文网首页
java多线程的实现方式

java多线程的实现方式

作者: analanxingde | 来源:发表于2021-04-21 20:24 被阅读0次

1:继承Thread并重写run方法,并调用start方法

/**
 * Java实现多线程
 * 继承Thread类,重写run方法
 */
class MyThread extends Thread {
    @Override
    public void run() {
        //此处为thread执行的任务内容
        System.out.println(Thread.currentThread().getName());
    }
}
public class Demo01 {
    public static void main(String[] args) {
            Thread t = new MyThread();
    }
}

2:实现Runnable接口,并用其初始化Thread,然后创建Thread实例,并调用start方法

/**
 * Java实现多线程的方式2
 * 实现Runnable接口
 */
class MyThread implements Runnable {
    
    @Override
    public void run() {
        //此处为thread执行的任务内容
        System.out.println(Thread.currentThread().getName());
    }
}

public class Demo02 {
    
    public static void main(String[] args) {
            Thread t = new Thread(new MyThread());
            t.start();
        }
    }
}

3:实现Callable接口,并用其初始化Thread,然后创建Thread实例,并调用start方法


/**
 * Java实现多线程的方式3
 * 实现Callable接口
 */
class MyThread implements Callable<Integer> {
    
    @Override
    public Integer call() throws Exception {
        System.out.println(Thread.currentThread().getName());
        return null;
    }
}

public class Demo03 {
    
    
    public static void main(String[] args) {
            //创建MyThread实例
            Callable<Integer> c = new MyThread();
            //获取FutureTask
            FutureTask<Integer> ft = new FutureTask<Integer>(c);
            //使用FutureTask初始化Thread
            Thread t = new Thread(ft);
            t.start();
        }
    }
}

4:使用线程池创建


/**
 * Java实现多线程的方式4
 * 线程池
 */
class MyThread implements Runnable {

    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }
    
}

class MyThread2 implements Callable<Integer> {

    @Override
    public Integer call() throws Exception {
        System.out.println(Thread.currentThread().getName());
        return 0;
    }

    
}

public class Demo04 {
    
    public static void main(String[] args) {
        ExecutorService executorService = Executors.newFixedThreadPool(5);
            executorService.execute(new MyThread());
            FutureTask<Integer> ft = new FutureTask<Integer>(new MyThread2());
            executorService.submit(ft);
        }
        executorService.shutdown();
    }
}

相关文章

  • java多线程

    1.JAVA多线程实现方式 JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用E...

  • Q&A-04 多线程&分布式

    1、Java实现多线程有哪几种方式 Java 多线程实现方式主要有四种: 继承Thread类 实现Runnable...

  • Java基础(六)

    多线程 Java多线程并发 1.1 JAVA 并发知识库 1.2 JAVA 线程实现/创建方式 1.2.1 继承 ...

  • 多线程(最全面试题04)

    Java实现线程有哪几种方式?1、继承Thread类实现多线程2、实现Runnable接口方式实现多线程3、使用E...

  • 多线程经典面试题及答案

    java实现线程有哪几种方式 1.继承Thread类实现多线程2.实现Runnable接口方式实现多线程3.使用线...

  • Java中的多线程实现方式

    Java中的多线程实现方式 在我们的开发的过程中,常常会碰到多线程的问题,对于多线程的实现方式主要有两种:实现Ru...

  • Java多线程知识点

    1.java中实现多线程的几种方式 java中实现多线程的方式主要有两种,第一种是继承Thread类,第二种是实现...

  • Thread,Runnable和Callable

    Java多线程实现方式:Thread,Runnable,Callable多线程是乱序执行Thread===1.Th...

  • Java多线程-实例解析

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

  • java并发编程(一)

    **java多线程编程(一)** 基本实现方式及同步原理 --- 三种实现方式: 1、继承Thr...

网友评论

      本文标题:java多线程的实现方式

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