多线程学习笔记(一)线程的创建

多线程的五种创建方式。

第一种:通过继承Thread类

public class CreateThread01 extends Thread{
    @Override
    public void run(){
        //在run方法中实现要实现的业务逻辑
        System.out.println(Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        CreateThread01 thread01 = new CreateThread01();
        thread01.setName("dome1");
        thread01.start();
    }

}

第二种:通过实现 Runnable 创建线程

public class CreateThread02 implements Runnable {
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        Thread thread = new Thread(new CreateThread02());
        thread.setName("dome2");
        thread.start();
    }
}

第三种:通过匿名内部类创建线程

public class CreateThread03 {
    public static void main(String[] args) {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName());
            }
        });
        thread.start();
    }
}

第四种:通过lambda表达式创建

public class CreateThread04 {
    public static void main(String[] args) {
        new Thread(()-> {
            System.out.println(Thread.currentThread().getName());
        }).start();
    }
}

第五种:通过线程池创建

public class CreateThread05 {
    public static void main(String[] args) {
        ExecutorService executorService = Executors.newSingleThreadExecutor();
        executorService.execute(()->{
            System.out.println(Thread.currentThread().getName());
        });
    }
}

总结:其实在工作中第二种用到的比较多,在java中因为是单继承,故不推荐使用第一种,而java可以实现多个接口。所以第二种比较多。第四种为lambda表达式是java8的新特性值得深入学习

 

上一篇:Lambda表达式详解(例子详解)(转自:http://blog.csdn.net/damon316/article/details/51734661)


下一篇:CountDownLatch代码验证