记得面试的时候,面试官问了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(); } } } }