java停止线程池中的线程 如何优雅的使用和理解线程池?你怎么看?
如何优雅的使用和理解线程池?你怎么看?
要理解和使用好java线程池,需要掌握并发编程的基本知识,认真阅读和学习线程池API的所有官方文档。合理使用线程池的要点总结如下:1。例如,您希望将同步API更改为异步,还是希望同时请求多个外部服务,或者减少线程的创建和销毁以处理用户请求。
2. 根据您的实际项目需求,配置线程池的参数,包括corepoolsize、maximumpoolsize、blocking queue、keepalivetime、thread factory和saturation policy(或rejectedexecutionhandler)。
3. 根据应用程序的特点部署线程池。一些后台服务应用程序适合在启动时创建线程池,并且在应用程序执行期间不修改线程池。有时,应用程序适合临时创建线程池,将任务提交给它,并在使用后立即销毁它。
4. 当您决定不再使用线程池时,应该调用shutdown()来正常关闭线程池。Shutdown可以保证以前提交到线程池的任务不会被丢弃,保证了数据的安全性。
5. 调用shutdown后,线程池此时可能正在执行任务,但提交任务的条目被关闭。如果需要等待线程池完全终止,则需要调用waitterminate以等待线程池处理队列中的所有任务并清理它们,然后返回。Awaitterminate成功返回,线程池被彻底清理。
总之,线程池按创建(构造方法)、提交任务(执行)、关闭和等待清理结束(等待终止)的顺序调用API。只有这样,我们才能优雅地使用线程池。为了更好地利用java线程池并最大限度地提高优化程序的性能,您可以参考我官方帐户中的分析文章。
怎么优雅的关闭线程?
有三种方法可以关闭线程:
1。设置exit标志使线程正常退出,即run()方法完成后,线程终止。
2. 使用Interrupt()方法中断线程。
java停止线程池中的线程 线程池有哪些参数 java线程池关闭
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。