并发编程系列二:线程池代码实战
发布时间
阅读量:
阅读量
上一节并发编程系列(1)- 线程池原理 对线程池的基本原理及其创建方式进行了初步阐述,然而在实际项目开发过程中,具体该如何应用线程池仍需进一步探讨。
一、使用场景介绍
在处理具有重复性且彼此之间不存在依赖关系的任务时,可以借助多线程的方式加以达成。例如:上传多个文件、解析多个文件等操作,这些行为之间并不会产生相互影响(即某一任务的执行并不依赖于其他任务是否成功完成,也不受其执行结果的制约)。倘若任务之间存在相互依赖的关系,则可以采用异步的方式予以实现。
二、代码实战
以下通过一个基础示例来帮助理解线程池的使用方式。
1、线程池工厂类-用于创建合适的线程池:
首先构建一个名为FILE_EXECUTOR的线程池,其主要功能是实现多线程环境下对文件的读取操作。
(提示:在实际的项目开发过程中,应特别关注线程池隔离的问题,即对于具有不同功能的任务,应当分别定义独立的线程池。此处我为文件读取任务定义了一个专用的线程池,命名为FILE_EXECUTOR;若存在文件上传相关的任务,则可另行定义一个UPLOAD_EXECUTOR)。
由于各类线程池所承担的任务性质存在差异,因此其配置参数也需相应调整;若忽视了线程隔离的原则,多个不同类型的任务共用同一个线程池,可能会因某项任务执行过程中出现异常、导致整个线程池停止运行,从而影响到其他任务的正
全部评论 (0)
还没有任何评论哟~
