【笔记】Spring框架中的线程池
前言
配置Spring框架中的线程池
配置
pool
core-size
:配置线程池中核心线程数,当池中线程没有达到这个值时,每次从池中请求线程都会创建一个新的线程max-size
:配置线程池中最大线程数,当池中核心线程都在忙,任务队列也满了,此时又有新的任务要交给池中线程去执行,当池>中线程没有达到最大值时,此时创建新的线程去执行任务queue-capacity
:配置线程池中任务队列,当池中核心线程都在忙,又有新的任务要交给池中线程去执行,此时可以将任务存储到任务队列keep-alive
:配置超时,当池中线程数大于核心线程数,又没有新的任务时,此时空闲下来的线程,超过keep-alive这个参数指定的值,线程会被释放
thread-name-prefix
:定义池中线程名的前缀,默认为task-
1 | spring: |
创建线程池对象
创建线程工厂
1 | ThreadFactory threadFactory = new ThreadFactory() { |
创建线程池对象
1 | ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor( |
调用一个线程来执行任务
1 | threadPoolExecutor.execute(new Runnable() { |