springmvc+spring线程池处理http并发请求数据同步控制问题
2017-03-31 16:24
507 查看
spring配置文件添加线程池配置
controller类
数据库有个字段num值为:382
http每请求一次,num都会-1
模拟并发500个请求
结果如图:
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心线程数 --> <property name="corePoolSize" value="3" /> <!-- 最大线程数 --> <property name="maxPoolSize" value="10" /> <!-- 队列最大长度 >=mainExecutor.maxSize --> <property name="queueCapacity" value="25" /> <!-- 线程池维护线程所允许的空闲时间 --> <property name="keepAliveSeconds" value="300" /> <!-- 线程池对拒绝任务(无线程可用)的处理策略 ThreadPoolExecutor.CallerRunsPolicy策略 ,调用者的线程会执行该任务,如果执行器已关闭,则丢弃. --> <property name="rejectedExecutionHandler"> <bean class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" /> </property> </bean>
controller类
package com.test.controller; import java.util.HashMap; import java.util.Map; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.test.entity.Order; import com.test.entity.Test; import com.test.service.TestService; @Controller @RequestMapping("/test") public class TestController { @Autowired private TaskExecutor executor; @Autowired TestService testService; @ResponseBody @RequestMapping("/order") public Map<String, Object> test(HttpServletRequest request){ //线程池+同步块 executor.execute(new Runnable() { @Override public void run() { synchronized (testService) { testService.insert(order); } } }); return null; } }
数据库有个字段num值为:382
http每请求一次,num都会-1
模拟并发500个请求
结果如图:
相关文章推荐
- 记阿里面试的一道nodejs中http同步处理请求问题
- Oracle难道不能处理大数据并发的问题
- XMLHttpRequest对象创建数据请求处理
- 关于数据库并发处理数据的问题
- java同步和互斥 : 共享数据的并发处理
- 关于http接口开发中json格式数据编码问题处理
- WCF布署问题1 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- 解决Android Http请求处理Response Cookie时区加载过慢问题
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- IIS处理并发请求时出现的问题及解决
- WIN7下.Net开发遇到的又一问题:HTTP 错误 500.19 - Internal Server Error,无法访问请求的页面,因为该页的相关配置数据无效。
- WCF布署问题 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- HTTP 错误 404.3 NOT FOUND 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加MIME映射。
- 数据库---并发控制及其带来的问题丢失修改,读脏数据,不可重复读及解决(程序员级)
- WCF问题:“HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”解决方法
- WIN7下.Net开发遇到的又一问题:HTTP 错误 500.19 - Internal Server Error,无法访问请求的页面,因为该页的相关配置数据无效。
- 处理数据并发问题
- IIS处理并发请求时出现的问题及解决
- IIS处理并发请求时出现的问题及解决