银行账号同步多线程处理
来源:互联网 发布:精锐摇杆淘宝店 编辑:程序博客网 时间:2024/05/17 04:15
需求:银行账号同步只能一个一个账号同步,但可能有很个账号需要同步,如果只有一个线程处理,客户端需要等很久才能处理完
改进:客户端发送同步请求(对象)过来,直接放到队列中,然后直接返回200给客户端,这样客户端就不需要等待,可以很快得到反馈
1. 客户端代码入口: BankSynchroProcessor.getInstance().acceptRequest(bsd);
public void acceptRequest(BankSyncDto obj) throws Exception { RequesttHandler request = new RequesttHandler(obj); executor.execute(request); }
class RequesttHandler implements Runnable { BankSyncDto obj; public RequesttHandler(BankSyncDto obj) { this.obj = obj; } @Override public void run() { try { handler.doHandler(obj, instance); } catch (Throwable t) { errorHandler.doHandler(t); } } }
@Override public void doHandler(BankSyncDto bd, BankSynchroProcessor process) throws Exception { try {....处理具体逻辑,返回结果JsonResultBeanCode
// 处理结果JsonResultBeanCode,如果失败,则重新放入队列中 if (!jsonResultBean.getCode().equals(JsonResultBeanCode.SUC)) { if (bd.getTimes() <= 2) {// 重发三次 bd.setTimes(bd.getTimes() + 1); process.acceptRequest(bd); } else { // log error log writeLog(bd); } }
0 0
- 银行账号同步多线程处理
- 银行、支行、银行账号
- 银行取款[多线程]{使用同步方法确保线程同步}
- 银行取款[多线程]{使用同步代码块确保线程同步}
- 课程设计 银行账号管理
- Android 银行账号
- 3-3-Java多线程-案例-银行存钱&同步函数
- 为多线程处理同步数据
- 多线程同步处理(转周公)
- 多线程同步的处理机制
- 网络多线程 异步 同步处理
- 根据银行账号判定所属银行
- c#导出excel时银行账号成科学记数法的处理
- Java多线程示例——模拟银行柜台处理业务
- Android 银行账号校验2
- 银行账号输入框实现
- 04.多线程--05.【多线程银行客户存钱案例设计】【同步函数基本用法和原理】
- 银行取款[多线程]{未进行线程同步}(junit不适合多线程并发单元测试)
- Bluebird 高性能揭秘
- java实现Json格式美化
- Processing中shapes3d库的utils包中的Bezier2与Shape3D包中的BezShape类
- 动态规划算法的个人理解
- Nginx使用Memcached
- 银行账号同步多线程处理
- list列表去除重复项以及查询某个字符串在list的出现次数
- IO 端口和IO 内存
- 高一寒假竞赛知识点梳理1
- iOS开发之支付宝集成问题 'openssl/asn1.h' file not found
- Java高并发编程:使用JDK5中同步技术的3个面试题
- 模拟php curl向远程服务器上传文件
- SMP、NUMA、MPP体系结构介绍
- JAVA 怎么处理高并发