分布式和多线程
文章平均质量分 86
熊猫小牛牛
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap、synchronized与线程安全
转自:http://blog.csdn.net/sadfishsc/article/details/42394955最近做的项目中遇到一个问题:明明用了ConcurrentHashMap,可是始终线程不安全除去项目中的业务逻辑,简化后的代码如下:[java] view plain copypublic class Test转载 2016-04-05 19:57:41 · 558 阅读 · 0 评论 -
Java并发编程:线程池的使用
转自:http://www.cnblogs.com/dolphin0520/p/3932921.html ,线程池的使用,哎,苦逼的coder,学无止境awaitTermination():用于等待子线程结束,再继续执行下面的代码Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如转载 2016-04-06 16:23:29 · 475 阅读 · 0 评论 -
Protostuff序列化
这几天在看rpc框架的东西,一哥们写的轻量级rpc框架(http://my.oschina.net/huangyong/blog/361751?fromerr=NpC3phqY)实现,写的rpc很不错,就跟着撸了遍代码,里面用到的序列化工具是protostuff,之前我们项目供应商接口用的xml,没用过protostuff,拿过来研究下,写个demo示例,以后再需要的话,也可以拿过来用。常用的原创 2016-04-15 14:37:16 · 3119 阅读 · 0 评论 -
无锁和无等待并发
原文参考:http://rethinkdb.com/blog/lock-free-vs-wait-free-concurrency/,之前看ConcurrentLinkedQueue看到wait-free的东西,百度看到这篇文章,文章比较短,翻译下练手。有2种类型的非阻塞线程同步算法:无锁和无等待,他们的含义经常被混淆。在无锁系统中,当任何一个特定的计算可能被阻塞一段时间的时候,所有其他的cp翻译 2016-08-02 21:46:46 · 1085 阅读 · 0 评论 -
微服务(Microservice)那点事
转自云栖肥侠的文章,https://yq.aliyun.com/articles/2764WHAT - 什么是微服务微服务简介这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火。最喜欢其中一页。关于这个典故,可以参考t转载 2017-03-08 11:32:35 · 421 阅读 · 0 评论 -
Paxos算法原理与推导
转自:云栖https://yq.aliyun.com/articles/71213?spm=5176.100239.bloglist.48.ODlTlpPaxos算法在分布式领域具有非常重要的地位。但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难。网上有很多讲解Paxos算法的文章,但是质量参差不齐。看了很多关于Paxos的资料后发现,学习Paxos最好的资料转载 2017-03-17 14:37:20 · 665 阅读 · 0 评论 -
如何用消息系统避免分布式事务?
转自: http://www.cnblogs.com/LBSer/p/4715395.html 前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。 上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后转载 2017-08-18 16:30:08 · 348 阅读 · 0 评论 -
后端接口的幂等性
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然后又接转载 2017-11-09 20:18:22 · 959 阅读 · 0 评论 -
thread状态切换
介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中的方法 若有不正之处,请多多谅解并欢迎批评指正。 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3920357.h转载 2015-12-07 08:51:03 · 813 阅读 · 0 评论 -
多线程设计模式-Active Object
声明:学习《java多线程设计模式》时所画Active Object 将方法的调用和执行分离,调用时将请求封装放入队列,异步从队列中取值执行。一.类图二.时序图三.代码包http://download.csdn.net/detail/xiaoxufox/9333937原创 2015-12-07 16:18:15 · 718 阅读 · 0 评论 -
Java并发之CountDownLatch、CyclicBarrier和Semaphore
CountDownLatch直译过来就是倒计数(CountDown)门闩(Latch)。倒计数不用说,门闩的意思顾名思义就是阻止前进。在这里就是指 CountDownLatch.await() 方法在倒计数为0之前会阻塞当前线程。作用CountDownLatch 的作用和 Thread.join() 方法类似,可用于一组线程和另外一组线程的协作。例如,主线程在做一项工作之前转载 2015-12-10 09:08:45 · 520 阅读 · 0 评论 -
并发框架Disruptor几个Demo
声明:转自http://xsh5324.iteye.com/blog/2058925?utm_source=tool.lu扫盲:要想了解Disruptor框架必需多花点时间研究下它的工作原理,不然代码是没法撸的!!!关于Disruptor的详细资料及原理请细看!!! http://ifeve.com/disruptor/ Disruptor版本:转载 2015-12-01 19:14:42 · 5668 阅读 · 0 评论 -
Disruptor使用指南
Disruptor使用指南IntruductionLock vs CAS避免伪共享Linked Queue vs Array Ringbuffer无时不刻的缓存ComponentSequenceRingBufferSequenceBarrierWaitStrategyBatchEvenProcess转载 2015-12-01 17:26:19 · 2523 阅读 · 0 评论 -
java自带线程池和队列详细讲解
Java线程池使用说明声明:不知道原创在哪里,只是转载自http://www.oschina.net/question/565065_86540?fromerr=pFagK0di一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concu转载 2015-12-01 19:22:32 · 506 阅读 · 0 评论 -
LMAX Disruptor——一个高性能、低延迟且简单的框架
声明:转自http://ifeve.com/disruptor-dsl/,提到了部分dsl内容,简化了之前的开发原文地址:LMAX Disruptor – High Performance, Low Latency and Simple Too 翻译:杨帆 校对:丁一Disruptor是一个用于在线程间通信的高效低延时的消息组件,它像个增强的队列,并且它是让LMAX Exchang转载 2015-12-03 09:16:06 · 1221 阅读 · 0 评论 -
ACID、Data Replication、CAP与BASE
转自:http://www.cnblogs.com/hustcat/archive/2010/09/07/1820970.html,好文需学习!ACID在传数据库系统中,事务具有ACID 4个属性(Jim Gray在《事务处理:概念与技术》中对事务进行了详尽的讨论)。(1)原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行转载 2016-01-25 17:15:07 · 348 阅读 · 0 评论 -
hessian学习
声明:转自http://www.cnblogs.com/yjmyzz/p/hessian-helloworld.html,感谢!hessian是一个采用二进制格式传输的服务框架,相对传统soap web service,更轻量,更快速。官网地址:http://hessian.caucho.com/目前已经支持N多语言,包括:java/c#/flex/php/ruby...m转载 2015-12-14 15:45:31 · 361 阅读 · 0 评论 -
Timing wheel
本来在看netty5的源码,后来里面使用timewheel实现定时任务,就了解下是什么玩意,转载3篇文章:http://www.cppblog.com/Solstice/archive/2011/05/04/145691.html这篇理论讲的不错,c++的实现http://blog.csdn.net/mindfloating/article/details/8033340 java实现转载 2016-03-29 14:30:51 · 1519 阅读 · 0 评论 -
看完这篇分析,还不懂分布式事务,请给我差评
转自:https://mp.weixin.qq.com/s/gRKzyFodKyV87g2_pyFUMg0 题记又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。有了事务,你去网上购物,扣款即产生订单交易。1 事务的具体定义事务提供一种机制将一个活动涉及的所有操...转载 2018-09-18 11:30:29 · 658 阅读 · 0 评论