spring提供了线程池的支持
先是一个线程 ThreadTransCode.java
package
com.enorth.lichen.transcode;
public
class
ThreadTransCode implements
Runnable{
@Override
public
void
run() {
System.out.println("转码开始.............."
);
}
}
在spring配置文件中添加线程池的配置信息
<
bean
id
="taskExecutor"
class
="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"
>
<
property
name
="corePoolSize"
value
="3"
/>
<
property
name
="keepAliveSeconds"
value
="200"
/>
<
property
name
="maxPoolSize"
value
="5"
/>
<
property
name
="queueCapacity"
value
="25"
/>
</
bean
>
在action中添加注入
<
bean
id
="saveVideoAction"
class
="com.enorth.lichen.action.video.SaveVideoAction"
scope
="prototype"
>
<
property
name
="videoService"
>
<
ref
bean
="videoService"
/>
</
property
>
<
property
name
="groupService"
>
<
ref
bean
="groupService"
/>
</
property
>
<
property
name
="taskExecutor
"
>
<
ref
bean
="taskExecutor
"
/>
</
property
>
</
bean
>
在action中调用
private
TaskExecutor taskExecutor;
public
TaskExecutor getTaskExecutor() {
return
taskExecutor;
}
public
void
setTaskExecutor(TaskExecutor taskExecutor) {
this
.taskExecutor = taskExecutor;
}
public
String execute() throws
Exception {
for
(int
k = 0; k < 2; k++) {
taskExecutor.execute(new
ThreadTransCode());
}
return
SUCCESS;
}
以上就可以用spring实现java线程池的使用...
本文出自 “李晨专栏
” 博客,请务必保留此出处http://lichen.blog.51cto.com/697816/162057
分享到:
相关推荐
总结来说,这篇博文探讨了如何在Spring中使用线程池执行定时任务,包括配置线程池、创建定时任务、异常处理和线程安全。同时,提到了Spring MVC在Web开发中的角色,以及它如何与任务调度协同工作。理解和掌握这些...
3. 使用@Async注解可以标记方法为异步执行,Spring会自动使用配置的线程池来执行该方法,从而提高系统并行处理能力。 三、数据同步控制问题 1. 在并发环境下,共享数据的访问可能导致数据不一致,需要采取同步机制...
在Java编程中,Spring框架提供了一种优雅的...通过合理配置线程池参数,我们可以优化系统的性能,减少线程创建和销毁的开销,并通过拒绝策略处理任务过载的情况。结合提供的示例代码,你可以更好地理解和运用这一功能。
- `ThreadPoolTaskExecutor`:这个执行器实现了异步任务执行,允许我们配置线程池参数,如核心线程数、最大线程数、队列容量等,以及线程工厂,以自定义线程的行为。 三、同步与异步的区别 - `SyncTaskExecutor`是...
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户网页应用程序中体现的尤为突出。对数据库连接的管理能显著影响到整个应用的伸缩性和健壮性,影响到程序的性能指标。
Spring中的ThreadPoolTaskExecutor是核心组件,它允许我们定制线程池的具体配置,如核心线程数、最大线程数、线程存活时间、线程工厂、拒绝策略等。以下是一些关键配置参数: 1. **corePoolSize**:线程池的基本...
在`applicationContext.xml`同级目录下创建`threadPool.xml`文件,配置线程池并导入到Spring容器中: ```xml <!-- threadPool.xml --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
在Java的多线程编程中,Spring框架提供了一种便捷的方式来管理和配置线程池,这就是`ThreadPoolTaskExecutor`。这个类是Spring对Java内置的`java.util.concurrent.ThreadPoolExecutor`的封装,允许开发者在Spring...
本文将基于Spring3.2.6版本,详细介绍如何配置线程池以及定时任务,并结合具体实例进行解析。 #### 二、Spring线程池配置 Spring框架提供了一个强大的任务调度模块,其中包含了对线程池的支持。下面通过一个具体的...
SpringMVC配置线程池Executor做多线程并发操作的代码实例 在本文中,我们将探讨如何使用SpringMVC框架来配置线程池Executor,以实现多线程并发操作。线程池Executor是Spring框架提供的一种线程池实现,它允许我们在...
以下是配置线程池的基本步骤: 1. 配置bean:在Spring的配置文件中,定义一个`ThreadPoolTaskExecutor`的bean,设置相关的属性。例如: ```xml <bean id="threadPoolTaskExecutor" class="org.springframework....
本文主要介绍了Spring @Async异步线程池的用法总结,包括异步线程池的接口类、@Async定义异步任务、Spring开启异步配置等内容。 1. 异步线程池的接口类 Spring提供了多种异步线程池的接口类,包括TaskExecutor、...
在 Spring Boot 中使用 Java 线程池 ExecutorService 的讲解 Spring Boot 作为一个流行的 Java 框架,提供了许多便捷的功能来帮助开发者快速...通过配置线程池的核心参数,我们可以根据实际情况来调整线程池的性能。
在使用Spring线程池时,我们可以通过@Configuration和@EnableAsync注解来配置线程池,例如: ```java @Configuration @EnableAsync public class DocataThreadBeanConfig { private int corePoolSize = 5; private...
Spring Boot 整合 FTPClient 线程池的实现示例 在本文中,我们将探讨如何在 Spring Boot 项目中整合 FTPClient 线程池的实现示例。FTPClient 是一个常用的 FTP 客户端库,而线程池则可以帮助我们减少频繁创建和销毁...
同时,线程池相关的面试题可能涵盖Spring TaskExecutor,它是Spring提供的异步任务执行框架,支持自定义线程池配置,如核心线程数、最大线程数、队列容量等。 数据库锁是并发控制的重要手段,面试中可能会问到乐观...
Spring XML配置是Spring框架中的一种常见方式,用于定义和管理应用程序中的bean及其依赖关系。以下是对Spring XML配置的12个技巧的详细说明: 1. 避免使用自动装配:Spring提供了自动装配功能,通过匹配bean属性或...
Spring Boot 2.0以上调度器配置线程池的实现 在 Spring Boot 2.0 及其以上版本中,默认的调度器配置为单线程的,这可能会限制应用程序的性能和可扩展性。因此,了解如何改变调度器的配置,实现多线程池的线程池,变...
例如,在`applicationContext-quartz.xml`配置文件中,可能会定义一个线程池: ```xml <bean id="threadPoolTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> `...