摘要: 1、通用性TCC技术方案 角色: (1)主业务服务:他就是TCC事务的主控服务,主要控制的服务,负责整个分布式事务的编排和管理,执行,回滚,都是他来控制 (2)从业务服务:相当于我们的资金服务、订单服务、积分服务、抽奖服务、流量券服务,主要就是提供了3个接口,try-confirm-cancel,t 阅读全文
posted @ 2020-06-12 11:02 superGG 阅读(129) 评论(0) 推荐(0) 编辑
摘要: package com.web.util; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.CountDownLatch; im... 阅读全文
posted @ 2017-05-25 13:44 superGG 阅读(223) 评论(0) 推荐(0) 编辑
摘要: /** * * @描述: 阻塞队列通信 . * 死锁:http://www.360doc.com/content/11/0904/13/834759_145686705.shtml * @作者: Wnj . * @创建时间: 2017年5月16日 . * @版本: 1.0 . */ public class BlockingQueueCommunication { ... 阅读全文
posted @ 2017-05-25 12:28 superGG 阅读(209) 评论(0) 推荐(0) 编辑
摘要: /** * * @描述: 队列(阻塞/非阻塞)、LinkedQueue不固定大小 * 先进先出,如队列大小为8,如放进了8个数据,就不能继续放了,会进入阻塞,如果是非阻塞队列则会报错 * * Throwsexception Special value()返回值判断 Blocks(阻塞) Times out Insert add... 阅读全文
posted @ 2017-05-25 12:27 superGG 阅读(232) 评论(0) 推荐(0) 编辑
摘要: /** * @描述: 阻塞队列 ,先放进来先取走 * 缓冲区:隔离效果,平均每一秒钟收一个短信,放在池子里 * 可以放可以取,当满了不能放,取走了之后才能取 * 当空的时候不能取,只有放了之后才能取 * @作者: Wnj . * @创建时间: 2017年5月16日 . * @版本: 1.0 . */ public class BoundedBuffer { fi... 阅读全文
posted @ 2017-05-25 10:43 superGG 阅读(244) 评论(0) 推荐(0) 编辑
摘要: /** * * @描述: Semaphore实现信号灯 . * Semaphore可以维护当前访问自身的线程个数,并提供了同步机制,使用Semaphore可以控制同时访问资源的线程个数,例如实现一个文件允许 * * 等待的线程可以是随机获取优先机会,也可以是按照先来后到的顺序获取机会,这取决于构造Semaphore对象时传入的参数选项 * * 单个信号量的Semaphore对... 阅读全文
posted @ 2017-05-25 10:41 superGG 阅读(240) 评论(0) 推荐(0) 编辑
摘要: /** * * @描述: 同步工具 * 表示大家彼此等待,大家集合好后才开始出发,分散活动后又在指点地点集合碰合 . * @作者: Wnj . * @创建时间: 2017年5月16日 . * @版本: 1.0 . */ public class CyclicBarrierTest { public static void main(String[] args) ... 阅读全文
posted @ 2017-05-25 10:40 superGG 阅读(187) 评论(0) 推荐(0) 编辑
摘要: /** * * @描述: 用于实现两个人之间的数据交换,每个人完成一定的事务后想与对方交换数据,第一个先拿出数据的人一直等待 * 直到第二个人拿到数据 到来时,才能彼此交换数据. * @作者: Wnj . * @创建时间: 2017年5月16日 . * @版本: 1.0 . */ public class ExchangerTest { public stati... 阅读全文
posted @ 2017-05-25 10:40 superGG 阅读(234) 评论(0) 推荐(0) 编辑
摘要: /** * * @描述: 设计一个缓存器 ReadLock提高性能. * @作者: Wnj . * @创建时间: 2017年5月16日 . * @版本: 1.0 . */ public class CacheDemo { private Map cache = new HashMap(); public static void main(Stri... 阅读全文
posted @ 2017-05-25 10:39 superGG 阅读(287) 评论(0) 推荐(0) 编辑
摘要: /** * * @描述: Callable Future * * 程序运行一个线程,线程运行结束后,我们可以获取另一个线程的结果 * * @作者: Wnj . * @创建时间: 2017年5月16日 . * @版本: 1.0 . */ public class CallableAndFuture { /** * 单个任务 ... 阅读全文
posted @ 2017-05-25 10:38 superGG 阅读(244) 评论(0) 推荐(0) 编辑