初始化线程四种使用方式

1)、继承Thread

初始化线程四种使用方式

 

 

 

2)、实现Runnable,接口

  初始化线程四种使用方式

 

 

以上两种执行结果都是一样


3)、实现 Callable接口+FutureTask(可以拿到返回结果,可以处理异常

  初始化线程四种使用方式

 

 相当于阻塞整个线程执行完成,获取返回结果,才会往下执行,不获取结果跟Thread 和 Runnable执行结果是一样的效果

 

 

   FutureTask<V>不仅可以接收Callable 还可以接收 Runnable

初始化线程四种使用方式

 

4)、线程池

  多线程异步任务一般都是用线程池,业务上避免一直使用以上三种方式会浪费资源

  使用Executors工具类,原生的线程池可自行了解使用

 Executors.newFiexedThreadPool(3);
//或者 new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime, TimeUnit unit,workQueue, threadFactory, handler);

 

初始化线程四种使用方式

execute方法是无返值,submit按需使用都有返回值

初始化线程四种使用方式

 

 

  以上四种的区别:

    1,2不能得到返回值,3可以获取返回值

    1,2,3都不能控制资源

    4可以控制资源,性能稳定

上一篇:Thread 线程面试题


下一篇:Java多线程