Java教程

初始化线程四种使用方式

本文主要是介绍初始化线程四种使用方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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可以控制资源,性能稳定

这篇关于初始化线程四种使用方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!