在开发项目中,偶尔会用到线程,众所周知,线程有2种创建方式:继承Thread类和实现Runnable接口,具体实现过程如下
一,继承Thread类,过程如下:
(1)定义Thread类的子类,并重写父类的run()方法,方法里的内容就是线程所要执行的任务;
(2)创建子类的实例,即生成线程的实例对象;
(3)调用现成的start()方法来启动线程。
public class MyThread extends Thread { public void run() { system.out.println("线程启动"); } public static void main (String []args){ MyThread myThread = new MyThread(); myThread.start(); } }
二,实现Runnable接口
(1)定义实现Runnable接口的实现类,并重写run()方法;
(2)创建Runnable接口实现类的实例,并将该实例作为参数传到Thread类的构造方法中来创建Thread对象,该Thread对象才是真正的线程对象;
(3)调用现成的start()方法来启动线程。
public class MyThread implements Runnable { public void run() { system.out.println("线程启动"); } public static void main (String []args){ MyThread myThread = new MyThread(); myThread.start(); } }
这两种方式是比较常见的创建线程的方法,但它们都有一个弊端,就是太麻烦,比如说项目里我就需要创建一个线程而已,难道还要创建一个类,然后再调用它吗,其实线程在项目中一般用下面这种简单的方式创建
三,简单创建方式
public void startMonitor() { new Thread(new Runnable() { @Override public void run() { system.out.println("线程启动"); } }).start(); }