`
arual
  • 浏览: 10812 次
社区版块
存档分类
最新评论

关于spring 线程池

    博客分类:
  • java
 
阅读更多

spring 线程池ThreadPoolTaskExecutor 

<bean id ="taskExecutor"  class ="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" >  

    <!-- 线程池维护线程的最少数量 -->  

<property name ="corePoolSize" value ="5" />  

    <!-- 线程池维护线程所允许的空闲时间 -->  

<property name ="keepAliveSeconds" value ="30000" />  

    <!-- 线程池维护线程的最大数量 -->  

<property name ="maxPoolSize" value ="1000" />  

    <!-- 缓冲队列 -->  

<property name ="queueCapacity" value ="200" /> 

 

 

ThreadPoolTaskExecutor poolTaskExecutor = (ThreadPoolTaskExecutor)contex.getBean("taskExecutor");

 

利用线程池启动线程

Thread myThread = new Thread(myRunnable);

poolTaskExecutor.execute(myThread);

获取当前线程池活动的线程数:

int count = poolTaskExecutor.getActiveCount();

惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶惊讶

Spring 里的mergePropertiesIntoMap 方法:

 mergePropertiesIntoMap(Properties props, Map map) {

if (map == null) {

throw new IllegalArgumentException("Map must not be null");

}

if (props != null) {

for (Enumeration en = props.propertyNames(); en.hasMoreElements();) {

String key = (String) en.nextElement();

Object value = props.getProperty(key);

if (value == null) {

// Potentially a non-String value...

value = props.get(key);

}

map.put(key, value);

}

}

}

 

props 是一个Properties 的实例 (其实Properties相当于一个 key 和value 都是String 类型 的Map而已), for (Enumeration en = props.propertyNames(); en.hasMoreElements();) { }   如此遍历map 好高级哦,

Methods are provided to enumerate through the elements of a vector, the keys of a hashtable, and the values in a hashtable. Enumerations are also used to specify the input streams to a SequenceInputStream.

 

 但是叫喊 -------〉

NOTE: The functionality of this interface is duplicated by the Iterator interface. In addition, Iterator adds an optional remove operation, and has shorter method names. New implementations should consider using Iterator in preference to Enumeration.

 

吻吻吻吻吻吻吻吻吻吻吻吻吻吻吻吻吻吻吻

Hashtable  environment1;

 

@Test

public void testClone() throws Exception {

   environment1 = new Hashtable<String, Integer>(2);

environment1.put("one", 1);

environment1.put("two", 2);

 

this.testInitialContext(environment1);

 

}

 

public void testInitialContext(Hashtable<?,?> environment) throws NamingException

   {

       if (environment != null) {

           environment = (Hashtable)environment.clone();//这样保证我们 在function testInitialContext中的操作不改变原始的environment. BUT: the keys and values are not cloned. This is a relatively expensive operation.

           environment.remove("one");

           if(environment1==environment){

           System.out.println("........why clone?");

           }

       }

   }

 

分享到:
评论

相关推荐

    springmvc+spring线程池处理http并发请求数据同步控制问题

    在这个主题中,我们将深入探讨如何利用Spring MVC与Spring线程池来有效地管理并发请求,并解决数据同步控制问题。 一、Spring MVC与并发处理 1. Spring MVC通过DispatcherServlet接收HTTP请求,然后根据映射规则将...

    spring线程池(同步、异步).docx

    以下是关于Spring线程池(同步、异步)的详细解析: 一、Spring异步线程池类图 Spring提供了一系列的`TaskExecutor`实现,它们根据不同的需求和场景有不同的特性和行为。这些实现包括但不限于: 1. `...

    spring 线程池

    标题中的“Spring线程池”指的是Spring框架中提供的线程池实现,它是Spring对Java的ExecutorService接口的一个封装,提供了更高级别的抽象和扩展性。线程池在多线程编程中扮演着至关重要的角色,它能有效地管理和...

    spring 线程池实例

    配置Spring线程池主要涉及以下几个核心属性: 1. `corePoolSize`:核心线程数,即线程池维护线程的最少数量。即使在空闲时,线程池也会保留这些线程,不进行销毁。 2. `maximumPoolSize`:最大线程数,线程池能容纳...

    ActiveMQ与Spring线程池整合实例

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

    Spring线程池配置

    数据库连接是一种关键的有限的昂贵的资源,这一点在多用户网页应用程序中体现的尤为突出。对数据库连接的管理能显著影响到整个应用的伸缩性和健壮性,影响到程序的性能指标。

    Spring基于线程池的定时任务线挰异常实践

    在Spring框架中,定时任务和线程池是两个非常重要的组件,它们可以帮助我们实现高效的后台任务处理。这篇博文“Spring基于线程池的定时任务线程异常实践”深入探讨了如何在Spring中结合线程池来执行定时任务,并且...

    spring线程池ThreadPoolExecutor配置以及FutureTask的使用

    在Java的多线程编程中,Spring框架提供了一种便捷的方式来管理和配置线程池,这就是`ThreadPoolTaskExecutor`。这个类是Spring对Java内置的`java.util.concurrent.ThreadPoolExecutor`的封装,允许开发者在Spring...

    Spring线程池demo

    本文将详细探讨在Spring框架中如何配置和使用线程池,并通过一个简单的示例——"Spring线程池demo"来展示其实现过程。 首先,我们需要了解线程池的基本原理。线程池通过预先创建一定数量的线程,当有任务需要执行时...

    JDK线程池和Spring线程池的使用实例解析

    JDK线程池和Spring线程池的使用实例解析 JDK线程池和Spring线程池是两种常用的线程池实现,它们都提供了线程池的功能,但它们在使用和配置上有所不同。下面我们将详细介绍JDK线程池和Spring线程池的使用实例解析。 ...

    Spring3.2.6定时任务+线程池.docx

    ### Spring3.2.6定时任务...#### 二、Spring线程池配置 Spring框架提供了一个强大的任务调度模块,其中包含了对线程池的支持。下面通过一个具体的示例来展示如何在Spring3.2.6中配置线程池: ```xml &lt;!-- 线程池 --&gt; ...

    threadPool1.zip

    使用spring线程池多线程并发处理大批量数据,解决IO效率问题。

    Spring线程池ThreadPoolTaskExecutor配置详情

    Spring线程池ThreadPoolTaskExecutor配置详情 Spring线程池ThreadPoolTaskExecutor是Spring Framework提供的一种线程池实现,用于管理和执行异步任务。本文将详细介绍ThreadPoolTaskExecutor的配置详情,并提供一...

    Spring Boot整合FTPClient线程池的实现示例

    Spring Boot 整合 FTPClient 线程池的实现示例 在本文中,我们将探讨如何在 Spring Boot 项目中整合 FTPClient 线程池的实现示例。FTPClient 是一个常用的 FTP 客户端库,而线程池则可以帮助我们减少频繁创建和销毁...

    Java面试 spring知识点 线程池 面试题

    在Java面试中,Spring框架是不可或缺的知识点,尤其在涉及到线程池的面试题时,对Spring的理解深度往往成为衡量候选人技术能力的重要标准。本文将深入探讨Spring框架的核心原理、重要概念以及与线程池相关的知识。 ...

    在spring boot中使用java线程池ExecutorService的讲解

    在 Spring Boot 中使用 Java 线程池 ExecutorService 的讲解 Spring Boot 作为一个流行的 Java 框架,提供了许多便捷的功能来帮助开发者快速构建应用程序。其中之一就是使用 Java 线程池 ExecutorService 来管理...

    Spring线程池ThreadPoolExecutor配置并且得到任务执行的结果

    Spring线程池ThreadPoolExecutor配置并且得到任务执行的结果 在Java中,线程池是一种非常重要的技术,能够帮助我们更好地管理线程资源,提高系统的性能和可扩展性。其中,ThreadPoolExecutor是Java中的一种线程池...

    Spring Boot 线程池的创建、@Async 配置步骤及注意事项.docx

    在Spring Boot应用中,使用线程池和异步处理是提高系统并发性能和响应速度的重要手段。`@Async`注解是Spring提供的一个特性,用于标记方法为异步执行,这样可以避免主线程等待耗时的操作,提高系统效率。本文将详细...

    线程池中使用spring aop事务增强

    本篇文章将深入探讨如何在使用线程池的情况下,利用Spring AOP来增强事务处理。 首先,让我们理解问题的核心。在给定的示例中,一个服务类`AAAService`有一个`doJob`方法,它会将`job`方法提交给线程池执行。由于`...

    浅谈Spring @Async异步线程池用法总结

    浅谈Spring @Async异步线程池用法总结 本文主要介绍了Spring @Async异步线程池的用法总结,包括异步线程池的接口类、@Async定义异步任务、Spring开启异步配置等内容。 1. 异步线程池的接口类 Spring提供了多种...

Global site tag (gtag.js) - Google Analytics