线程的三种启动方式

一:继承Thread方式

class A extends Thread { }

启动线程

new A().start();

二:实现Runnable方式

class B implements Runnable { }

启动线程

new Thread(new B()).start();

三:Lamda表达式

new Thread(()->{

}) .start();

四:实现Callable接口方式

public static void main(String[] args) throws ExecutionException, InterruptedException {
        ExecutorService service = Executors.newFixedThreadPool(3);
        Callable<String> callable = new Callable<String>() {
                @Override
                public String call() throws Exception {
                    return Thread.currentThread().getName();
                }
            };
        Future<String> submit = service.submit(callable);
        System.out.println(submit.get());
    }

说明:这种方式比较Thread和Runnable可以有返回值。

五:启动线程的三种方式

  1. 继承Thread
  2. 实现Runnable接口
  3. Executors.newCachedThread 线程池

版权声明:本文为qq_41863697原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。