1 线程池pool?
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。
线程池可以帮助用户创建一个管理所有线程的容器,线程的创建和销毁都由线程池来管理。
spring线程池配置
| <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心线程数 --> <property name="corePoolSize" value="${task.core_pool_size}" /> <!-- 最大线程数 --> <property name="maxPoolSize" value="${task.max_pool_size}" /> <!-- 队列最大长度 --> <property name="queueCapacity" value="${task.queue_capacity}" /> <!-- 线程池维护线程所允许的空闲时间,默认为60s --> <property name="keepAliveSeconds" value="${task.keep_alive_seconds}" /> </bean> |
| task.core_pool_size=2 task.max_pool_size=10 task.queue_capacity=10 task.keep_alive_seconds=60 |
测试线程池
| package com.www.thread; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; /** * @author Sunshine * @description测试线程池 * 2017-12-20上午8:41:19 */ publicclass ThreadPoolTest { /** * @param args */ publicstaticvoid main(String[] args) { ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml"); ThreadPoolTaskExecutor tt=(ThreadPoolTaskExecutor) ac.getBean("taskExecutor"); for (int i = 0; i < 50; i++) { MultiThreadByRunnable mb = new MultiThreadByRunnable("172.16.22."+i); tt.execute(mb); } } } |
2 使用多线程实现邮件批量发送。
如何使用java实现邮件发送</

本文介绍了如何利用线程池实现邮件的批量发送。首先解释了线程池的概念,包括其在Spring中的配置和测试。接着,详细阐述了在Java中实现邮件发送的步骤,包括引入依赖、创建邮件实体类、设计邮件业务类,以及进行测试和配置。
最低0.47元/天 解锁文章
561

被折叠的 条评论
为什么被折叠?



