`
bo_hai
  • 浏览: 564505 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Spring 线程使用实例

 
阅读更多

1)线程池的配置:

<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>

   配置过程中观注上面最重要的四个属性的配置。 

2)创建线程处理事务逻辑的类,类要实现Runnable接口。代码如下:

public class InitCategoryThreadHandle implements Runnable {
	
	private CategoryManager	categoryManager;
	
	private Long merchantId;
	
	public InitCategoryThreadHandle (CategoryManager categoryManager, Long merchantId) {
		this.categoryManager = categoryManager;
		this.merchantId = merchantId;
	}
	
	@Override
	public void run() {
		categoryManager.initCacheCatgoryByMerchantId(merchantId);
	}

}

 

   业务逻辑中用到的参数通过构造方式赋值。

3)创建调用线程的中间类。代码如下:

@Service("asynBusiness")
public class AsynBusiness {
	
	@Resource
	private TaskExecutor taskExecutor;
	
	@Resource
	private CategoryManager categoryManager;
	
	public void asynInitCategory(Long merchantId){
		InitCategoryThreadHandle categoryThread = new InitCategoryThreadHandle(categoryManager, merchantId);
		taskExecutor.execute(categoryThread);
	}
}

 4)业务方法中直接使用asyBusiness中的方法,来启动线程。对业务方法只暴露asyBusiness,这种方式,程序的可扩展性大增强。

 

  • 大小: 14 KB
  • 大小: 3.8 KB
1
2
分享到:
评论

相关推荐

    spring定时器简单实例

    Spring定时器,也被称为Spring Boot的定时任务,是Spring框架中的一个强大功能,它允许开发者在特定的时间间隔执行任务,而无需手动管理线程。在实际的开发中,这一特性常用于实现数据清理、统计计算、发送邮件等...

    spring 线程池实例

    本实例将深入探讨Spring中的线程池实现,包括其工作原理、配置方式以及如何在实际应用中使用。 首先,我们要理解线程池的基本概念。线程池是由一组预先创建的线程组成的集合,当有新的任务需要执行时,线程池会从池...

    spring整合hibernate实例

    这篇名为"spring整合hibernate实例"的内容,显然是关于如何将这两个框架协同工作,构建一个高效、灵活的Java应用的教程。在整合过程中,我们将探讨以下几个关键知识点: 1. **Spring的ApplicationContext**: 这是...

    Spring的多线程应用

    通过分析这个项目,开发者不仅可以学习到Spring的多线程使用,还可以了解到如何在实际项目中配置和管理线程,以及如何利用异步执行提升应用程序性能。这些知识对于理解和掌握Spring框架,以及在实际开发中有效利用多...

    Spring Redis缓存实例

    **Spring Redis 缓存实例详解** 在现代的Web应用程序开发中,缓存是提高系统性能的关键技术之一。Spring框架提供了一种优雅的方式来整合缓存管理,其中包括对Redis的支持。Redis是一个开源的、高性能的键值数据库,...

    spring boot注解事务+多线程

    本示例将深入探讨如何使用注解来实现事务控制以及如何在Spring Boot中运用多线程。 首先,让我们关注"注解事务"。在Spring框架中,我们主要依赖`@Transactional`注解来声明事务边界。当一个方法被这个注解标记时,...

    线程中获取spring 注解bean

    线程中的操作往往涉及到多线程环境下的资源共享和管理,因此,如何在线程中正确地获取并使用Spring通过注解注入的对象,是一个常见的问题。本文将详细探讨这个主题。 首先,Spring的注解主要分为三类:配置注解(如...

    ActiveMQ与Spring线程池整合实例

    ActiveMQ与Spring线程池整合的一个实例。 lib库没有上传。 对于实例的讲解,在竹子的论坛有我对这个实例的帖子(http://www.java2000.net/viewthread.jsp?tid=1167) lib中包含: apache-activemq-4.1.1.jar ...

    Spring Boot如何优雅的使用多线程实例详解

    在Spring Boot应用中,优雅地使用多线程可以显著提高应用程序的并发性能,尤其是在处理大量并发请求时。这里我们将深入探讨如何使用Spring Boot的异步处理功能,即通过`@Async`注解来实现多线程。首先,我们需要在...

    quartz线程工程实例

    总结来说,"quartz线程工程实例"是一个关于如何在Java项目中使用Quartz框架来实现任务调度的实例,涵盖了从创建Scheduler、定义Job、设计Trigger,到Spring集成Quartz、动态调度、线程控制和持久化等一系列关键知识...

    spring任务调度实例

    本实例主要探讨了Spring如何实现任务调度,特别是使用Quartz和Timer两种不同的方法。 首先,Quartz是一个开源的作业调度框架,它允许开发者创建、调度和执行作业,这些作业可以是简单的Java类或者Spring Bean。...

    spring线程发送邮件

    本文将深入探讨"spring线程发送邮件"这一主题,结合标签"源码"和"工具",我们将从源码层面理解Spring如何实现线程异步发送邮件,并探讨相关工具的使用。 在Spring框架中,邮件服务的实现主要依赖于`javaMailSender`...

    实例讲解spring boot 多线程

    本文主要介绍了 Spring Boot 中多线程的实现,通过示例代码详细讲解了如何使用 TaskExecutor 来实现多线程和并发编程。同时,我们还将介绍如何使用 @EnableAsync 注解开启异步任务支持,并在实际执行的 Bean 的方法...

    Spring quartz 定时 实例

    在上述实例中,我们看到如何配置和使用Spring Quartz来创建一个简单的定时任务。主要涉及以下几个关键点: 1. **依赖引入**:首先,我们需要引入必要的库,包括quartz.jar(Quartz核心库),spring.jar(Spring核心...

    spring-tx事务管理实例

    Spring事务管理是企业级Java应用中不可或缺的一部分,它确保了数据的一致性和完整性,尤其是在多线程和分布式环境中。本实例将深入探讨Spring事务管理的实现与应用。 首先,Spring事务管理分为编程式事务管理和声明...

    Spring线程时间配置:Quartz和CronExpression

    ### Spring线程时间配置:Quartz与CronExpression详解 在Spring框架中,为了实现定时任务的调度,引入了一个强大的工具——Quartz。Quartz是一个功能丰富的开源作业调度器,可以用于Java应用程序中的作业调度。它...

    线程学习实例和笔记

    8. **工具和框架**:在实际开发中,可以利用一些工具和框架来简化线程管理,例如Spring框架中的@Async注解,用于异步执行方法,提升应用性能。 9. **源码分析**:阅读和理解JDK中Thread类和其他相关类的源码,有助...

    spring4+junit4.8 +多线程TheadTool

    Spring4提供了多种方式保证线程安全,如使用`@Scope("prototype")`创建单个请求的bean实例,或者使用`@Transactional`注解实现事务管理,保证数据一致性。 5. **并发编程**:Java的并发库提供了丰富的工具,如`java...

    JMS整合Spring实例

    **JMS整合Spring实例** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它允许应用程序创建、发送、接收和读取消息,以此来解耦生产者和消费者。而Spring框架...

    唤醒阻塞休眠线程示例

    每个`Lock`实例可以有多个条件变量,允许线程在特定条件下等待,并由其他线程唤醒。 8. **信号量(Semaphore)**:信号量是一种同步工具,允许多个线程同时访问有限资源。它可以用来控制进入某临界区的线程数量,当...

Global site tag (gtag.js) - Google Analytics