`

多线程环境下,用户信息统计问题

阅读更多

使用nick和订单id来进行锁定,

如果锁定失败,那么等待.

 

Queue<Future<Boolean>> queue = new LinkedList<Future<Boolean>>();

final ConcurrentMap<String, String> buyerLock = new ConcurrentHashMap<String, String>();

for (final Trade tbTrade : tbTradeList) {

             

queue.offer(topExecutePool.submit(new Callable<Boolean>() {

public Boolean call() throws Exception {

try {

for(int j=0;j<10;j++){

String existBuyerNickTid = buyerLock.putIfAbsent(tbTrade.getBuyerNick(),""+tbTrade.getTid());

if(existBuyerNickTid==null){

break;

}

Thread.sleep(5*1000L);

continue;

}

           ..............................................

} catch (Exception e) {

logger.error(e);

}finally{

buyerLock.remove(tbTrade.getBuyerNick());

}

return Boolean.TRUE;

 

}

}));

}

分享到:
评论

相关推荐

    计算机网络安全课设-基于libpcap和winpcap的多线程网络包嗅探器

    内容概要:简洁的多线程网络包嗅探器 环境依赖: Python3 winpcap(if you are using Linux, please install libpcap) pcapy PyQt5 设计简介: 本次设计采用的编程语言为python。在Windows和Linux平台下先分别安装...

    百万知乎用户数据分析 这是一个多线程抓取知乎用户的程序 Requirements

    这是一个多线程抓取知乎用户的程序 Requirements 需要用到的包: beautifulsoup4 html5lib image requests redis PyMySQL pip安装所有依赖包: pip install Image requests beautifulsoup4 ...

    智能源码统计专家

    (1)增加文件统计时用户可以中断统计线程的功能;增加鼠标右键查看文件信息的功能,参数设置中增加了目录统计是否包括子目录、是否显示统计进度条及创建文件桌面快捷方式的选项。 (2)增加对C#项目文件.csproj 及....

    MF00380-MVC多用户多店铺B2C商城源码.zip

    5 购物车和订单:购物车和订单应该是商城最难设计的一部分,难点主要包含两个方面:首先是各种促销的计算,其次是老生长谈的性能问题(目前我们采用多线程,消息队列来提升购物车的性能)。 6 自定义主题:采用...

    基于JAVA的网络在线聊天工具MINIQQ

    目录 1. Java语 言 简介 1.1 什么是JAVA语言 1.2 为什么选用JAVA语言进行...2.3.6 如何利用多线程 2.4 QQ设计及使用中的一些注意事项 3. 由QQ的实现分析各种技术在网络相关程序实现上的优缺点 4. 小结 参考文献

    C语言编写的一些基础库,适合0基础编写高性能服务器.rar

    与Windows不同的是,Linux是一套凋谢源代码程序的、并能够自在流传的类Unix操作系统,它是一个反对多用户、多任务、多线程和多CPU的操作系统。它能运行次要的UNIX工具软件、应用程序和网络协议。它反对32位和64位...

    PLSQL Developer 10.0.5.1710〖附中文补丁和注册机〗

     多线程IDE——PL/SQL Developer是一个多线程IDE。这样,当SQL查询、PL/SQL程序、调试会话等正在运行时,您依然可以继续工作。而且,该多线程IDE还意味着出现编程错误时不会中止:您在任何时间都可以中断执行或保存...

    基于java的学生信息管理系统设计与实现.doc

    下面我们将重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全 等特性。 面向对象 面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。 对象之间通过消息相互作用。另外...

    PLSQL Developer 10.0.4.1708〖附中文补丁和注册机〗

     多线程IDE——PL/SQL Developer是一个多线程IDE。这样,当SQL查询、PL/SQL程序、调试会话等正在运行时,您依然可以继续工作。而且,该多线程IDE还意味着出现编程错误时不会中止:您在任何时间都可以中断执行或保存...

    informix 实用大全

    本书由专业Informix用户、数据库管理员、Informix管理员和应用程序开发员编写而成,把各大Informix产品的方方面面综合、深入地集中在一起,包括最新Informix产品的详细信息,如Informix Internet Foundation.2000...

    基于安卓的电子商城管理系统的设计与实现.zip

    为了提高应用的性能和响应速度,开发者可能还使用了多种优化技术,如异步加载、内存管理和多线程处理。安全方面,系统可能整合了SSL加密传输、支付安全机制、用户权限控制等多种措施,确保交易的安全性和用户数据的...

    pb技术精髓,不用不要后悔

    * 第二十四讲:Install Builder 的使用方法 * 第二十五,二十六讲:一个代码维护的应用程序(上、下) * 第二十七讲:在 PowerScript 脚本中访问数据窗口中的数据 * 第二十八讲:开发和运行环境中的动态...

    orcale常用命令

    数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。 我们不能手工修改数据字典里的信息。  很多时候,一般的ORACLE用户不知道如何有效地利用它。  dictionary...

    基于MySQL的数据库中间件Meituan-DBProxy.zip

    此问题是DBProxy在多个分表merge结果的过程中未处理 NULL 值,导致结果集返回不对,而JDBC接口会认为此种情况下是未收到结果,会处于一直等待状态,触发超时 解决在分表情况下, IN 子句中分表列只支持 ...

    HubbleDotNet 全文检索

    HubbleDotNet 设计了较为完善的并发控制程序,数据的增删改查可以多线程同时并发进行,没有任何冲突。HubbleDotNet 还进行 了缓存和内存管理设计,可以帮助用户最大限度的提高查询的效率。HubbleDotNet 力争在未来的...

    Hubble.net全文搜索源码

    Hubble.net 设计了较为完善的并发控制程序,数据的增删改查可以多线程同时并发进行,没有任何冲突。Hubble.net 还进行了缓存和内存管理设计,可以帮助用户最大限度的提高查询的效率。Hubble.net 力争在未来的几年内...

    PL/SQL Developer

     多线程IDE——PL/SQL Developer是一个多线程IDE。这样,当SQL查询、PL/SQL程序、调试会话等正在运行时,您依然可以继续工作。而且,该多线程IDE还意味着出现编程错误时不会中止:您在任何时间都可以中断执行或保存...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。...

    PLSQL Developer 7.1.5

     多线程IDE——PL/SQL Developer是一个多线程IDE。这样,当SQL查询、PL/SQL程序、调试会话等正在运行时,您依然可以继续工作。而且,该多线程IDE还意味着出现编程错误时不会中止:您在任何时间都可以中断执行或保存...

    PL/SQL Developer v8.0.zip

    多线程IDE——PL/SQL Developer是一个多线程IDE。这样,当SQL查询、PL/SQL程序、调试会话等正在运行时,您依然可以继续工作。而且,该多线程IDE还意味着出现编程错误时不会中止:您在任何时间都可以中断执行或保存您...

Global site tag (gtag.js) - Google Analytics