java中线程池的理解和使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中线程池的理解和使用相关的知识,希望对你有一定的参考价值。

看过很多关于线程的文章,但还是觉得需要说些什么。

我只想说使用线程池的时候,就不要自己写队列和循环等东西了。

代码如下:

 1 public class SqlLogRecorder {
 2     private static Logger logger = LoggerFactory.getLogger(SqlLogRecorder.class);
 3 
 4     public SqlLogRecorder(MSConfigManager configManager){
 5      // 可以根据需要创建不同类型的连接池
 6         workerPool = Executors.newFixedThreadPool(configManager.getSqlLogThreadCount());
 7     }
 8 
 9     /**
10      * 将消息插入数据库
11      * @param messageObject
12      */
13     public void insertMessageToDB(final MessageObject messageObject) {
14         workerPool.execute(new Runnable() {
15             @Override
16             public void run() {
17                 if(logger.isDebugEnabled()) {
18                     logger.debug(" insert message : ");
19                     logger.debug(messageObject.toJsonString());
20                 }
21                 // XXXX 需要做的工作
22             }
23 
24         });
25     }
26 
27 
28     public void close() {
29         workerPool.shutdown();
30     }
31 }

当不需要是一定记得关闭


 

 

以上是关于java中线程池的理解和使用的主要内容,如果未能解决你的问题,请参考以下文章

深入理解 Java 线程池的实现原理

浅理解java中的线程池

浅理解java中的线程池

浅理解java中的线程池

IDEA对新建java线程池的建议

Java——线程池