匿名内部类创建线程的两种方式

来源:互联网 发布:乐高nxt编程 编辑:程序博客网 时间:2024/06/01 10:50

我们知道多线程的实现有两种方式,一种是继承Thread类,另一种是实现Runnable接口,然后再重写run方法,最后开启线程。我们在普通的创建线程中,显然是比较麻烦的,那么有没有一个简单的方法呢?今天小钱就给大家介绍使用匿名内部类创建线程,为什么要使用匿名内部类呢,因为使用它代码更简洁也更方便,同样地,它也有两种方式:下面我们来看第一种使用匿名内部类创建线程的方式:
1.首先我们要在一个类中new出一个继承Thread类;
2.然后重写run方法;
3.将我们要执行的代码写在run方法中。下面我们来看一个Demo案例:

package cn.edu.jit.thread;/** * 匿名内部类实现线程的两种方式 * @author kevin * */public class ThreadDemo04 {    public static void main(String[] args) {        /*         * 第一种方式:         * 1.继承Thread类         * 2.重写run方法         * 3.将要执行的代码写在run方法中         */        new Thread() {            public void run() {                for (int i = 0; i < 10; i++) {                    System.out.println("aaaaaaaaa");                }            }        }.start();//开启线程    }}

将new继承Thread类的花括号后面必须要.start()方法,说明该线程开启。
运行结果:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

以上就是匿名内部类创建线程继承Thread类完成了,那么实现Runnable接口,我们该怎么做呢?
1.将Runnable的子类对象传递给Thread的构造方法;
2.重写run方法;
3.将执行的代码写在run方法中,最后我们开启线程。
下面我们继续看这个案例:

        /*         * 第二种方式:         * 1.将Runnable的子类对象传递给Thread的构造方法         * 2.重写run方法         * 3.将执行的代码写在run方法中,最后我们开启线程         */        new Thread(new Runnable() {            public void run() {                for (int i = 0; i < 10; i++) {                    System.out.println("bbbbbbbbb");                }            }        }).start();//开启线程

运行结果:

bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

以上就是介绍匿名内部类创建线程的两种方式。

0 0
原创粉丝点击