记得面试的时候,面试官问了Java多线程实现的方式有几种,它们之间的区别是什么?作为一个Java新手,将最近的学习总结如下:

    1、Java多线程实现方式

    Java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用Callable和Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。

  2、继承Thread类实现多线程

  通过继承Thread类来创建并启动多线程的步骤如下:

 (1)定义Thread的子类,重写该类的run()方法,该run()方法的方法体就代表线程需要完成的任务,也称线程执行体。

 (2)创建Thread子类的实例,即创建了线程对象。

 (3)调用线程对象的start()方法来启动该线程。注意:线程无返回值。

public class ThreadTest extends Thread{
    private int i;
    public void run(){
        for(; i<100; i++){
            System.out.println(getName()+" " + i);
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int i=0; i<100; i++){
            System.out.println(Thread.currentThread().getName()+" "+i);
            if(i == 20){
                new ThreadTest().start();
                new ThreadTest().start();
            }
        }
    }
}
View Code

相关文章: