【通过匿名内部类方式使用多线程】

new Thread(){代码…}.start();

new Thread(new Runnable(){代码…}).start();

例子1:

匿名内部类的格式:

  new 类名或者接口名() {

    重写方法;

  };

本质:是该类或者接口的子类对象。

package com.test;

public class ThreadTest {

    public static void main(String[] args) {
        /**继承Thread类来实现多线程*/
        new Thread() {
            public void run() {
                for (int x = 0; x < 10; x++) {
                    System.out.println(Thread.currentThread().getName() + ":"
                            + x);
                }
            }
        }.start();

        /**实现Runnable接口来实现多线程*/
        new Thread(new Runnable() {
            @Override
            public void run() {
                for (int x = 0; x < 10; x++) {
                    System.out.println(Thread.currentThread().getName() + ":"
                            + x);
                }
            }
        }) {
        }.start();

        /**更有难度的*/
        new Thread(new Runnable() {
            @Override
            public void run() {
                for (int x = 0; x < 100; x++) {
                    System.out.println("hello" + ":" + x);
                }
            }
        }) {
            public void run() {
                for (int x = 0; x < 10; x++) {
                    System.out.println("world" + ":" + x);
                }
            }
        }.start();
    }

}

执行结果:

Thread-0:0
Thread-0:1
Thread-0:2
Thread-0:3
Thread-0:4
Thread-0:5
Thread-0:6
Thread-0:7
Thread-0:8
Thread-0:9
Thread-1:0
Thread-1:1
Thread-1:2
Thread-1:3
Thread-1:4
Thread-1:5
Thread-1:6
Thread-1:7
Thread-1:8
Thread-1:9
world:0
world:1
world:2
world:3
world:4
world:5
world:6
world:7
world:8
world:9

 

posted @ 2018-09-03 00:18  书丶生  阅读(389)  评论(0编辑  收藏  举报