java并发查询数据

  并发服务

  package com.springboot_android.thread;

  import com.project_entity.bean.DeviceRecrodBean;

  import com.springboot_android.dao.DeviceRecrodDao;

  import java.util.*;

  import java.util.concurrent.Callable;

  /**

  * 历史数据,多线程处理

  */

  public class ThreadCall implements Callable>{

  private String identifier;

  private String deviceName;

  private String productKey;

  private Date startTime;

  private Date endTime;

  private DeviceRecrodDao deviceRecrodDao;

  private int groupId;

  public ThreadCall(String identifier,String deviceName,String productKey,Date startTime,Date endTime,DeviceRecrodDao deviceRecrodDao,int groupId){

  this.identifier=identifier;

  this.deviceName=deviceName;

  this.productKey=productKey;

  this.startTime=startTime;

  this.endTime=endTime;

  this.deviceRecrodDao=deviceRecrodDao;

  this.groupId=groupId;

  }

  @Override

  public Map call() throws Exception {

  //开始执行并发任务

  Map map=new HashMap<>();

  /*List list = deviceRecrodDao.selectDeviceProductKeyId( productKey, deviceName, identifier,startTime, endTime);

  map.put("value",list);郑州人流专科医院 http://www.03912316666.com/

  map.put("identifier",identifier);

  map.put("productKey",productKey);

  map.put("deviceName",deviceName);

  map.put("groupId",groupId);*/

  return map;

  }

  }

  并发服务调用:

  package com.springboot_android.thread;

  import com.project_entity.bean.mobe.DeviceGroupGraphBean;

  import com.springboot_android.dao.DeviceRecrodDao;

  import org.springframework.beans.factory.annotation.Autowired;

  import org.springframework.stereotype.Component;

  import java.util.*;

  import java.util.concurrent.*;

  @Component

  public class InfoMore {

  @Autowired

  private DeviceRecrodDao recrodDao;

  //根据集合中的内容查询所有数据

  public List

原文地址:https://www.cnblogs.com/djw12333/p/12059610.html

时间: 2024-11-08 19:54:39

java并发查询数据的相关文章

java并发编程使用锁进行数据同步操作一

项目中总是出现招标项目超投的情况,最开始总是觉得应该使用框架Hibernate自带的并发策略中的乐观锁(version)解决问题,参考了很多网上的资料,也参考了Hibernate的帮助文档,由于对Hibernate乐观锁机制不了解,问题就一直没有解决. 最近在看Java并发编程相关知识,了解了些许并发,线程,锁的知识.想到了这个问题,曾经使用Synchroized关键字时总是苦于无法获取同一个对象,导致解决方案无效.这次采用的方案是:创建了静态的HashMap<Integer,Lock>,初始

Java并发工具类(四):线程间交换数据的Exchanger

简介 Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法交换数据, 如果第一个线程先执行exchange方法,它会一直等待第二个线程也执行exchange,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方. Exchanger的应用场景 1.Exchanger可以用于遗传算法,遗传算法里需要选出两个人作为交配对象,这时

Mycat(6):聊天消息表,按月分表 java客户端跨月查询数据

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/47039103 未经博主允许不得转载. 1,业务需求 上次分析聊天业务按照月进行拆.http://blog.csdn.net/freewebsys/article/details/47003577 具体拆分方案已经有了: 但是在操作的时候还是有点小问题,但基本上是按照这个设计实现的. 首先是mycat的,mycat正式版本是1.3.0.3-release,但是这个不包括Parti

Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等

继续并发专题~ FutureTask 有点类似Runnable,都可以通过Thread来启动,不过FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞. 由于:FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞这两个特性,我们可以用来预先加载一些可能用到资源,然后要用的时候,调用get方法获取(如果资源加载完,直接返回:否则继续等待其加载完成). 下面通过两个例子来介绍下: 1.使用FutureTask来预加载稍后要用的的

Java并发工具类(四)线程间交换数据的Exchanger

简介 Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法交换数据, 如果第一个线程先执行exchange方法,它会一直等待第二个线程也执行exchange,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方. Exchanger的应用场景 1,Exchanger可以用于遗传算法,遗传算法里需要选出两个人作为交配对象,这时

Java并发编程:Concurrent锁机制解析

.title { text-align: center } .todo { font-family: monospace; color: red } .done { color: green } .tag { background-color: #eee; font-family: monospace; padding: 2px; font-size: 80%; font-weight: normal } .timestamp { color: #bebebe } .timestamp-kwd

《java并发编程实战》读书笔记4--基础构建模块,java中的同步容器类&amp;并发容器类&amp;同步工具类,消费者模式

上一章说道委托是创建线程安全类的一个最有效策略,只需让现有的线程安全的类管理所有的状态即可.那么这章便说的是怎么利用java平台类库的并发基础构建模块呢? 5.1 同步容器类 包括Vector和Hashtable,此外还包括在JDK1.2中添加的一些功能相似的类,这些同步的封装器类由Collections.synchronizedXxx等工厂方法创建的.这些类实现线程安全的方式是:将他们的状态封装起来,并对每个共有方法都进行同步,使得每次只能有一个线程能访问容器的状态. 关于java中的Vect

应对Memcached缓存失效,导致高并发查询DB的几种思路

原文地址: http://blog.csdn.net/hengyunabc/article/details/20735701 当Memcached缓存失效时,容易出现高并发的查询DB,导致DB压力骤然上升. 这篇blog主要是探讨如何在缓存将要失效时,及时地更新缓存,而不是如何在缓存失效之后,如何防止高并发的DB查询. 个人认为,当缓存将要失效时,及时地把新的数据刷到memcached里,这个是解决缓存失效瞬间高并发查DB的最好方法.那么如何及时地知道缓存将要失效? 解决这个问题有几种思路: 比

Java并发编程之---Lock框架详解

Java 并发开发:Lock 框架详解 摘要: 我们已经知道,synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等.Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题.本文以synchronized与Lock的对比为切入点,对Java中的Lock框架的枝干部分进行了详细介绍,最后给出了锁的一些相关概念. 一