并发编程
wangqiuyue---
这个作者很懒,什么都没留下…
展开
-
乐观锁与悲观锁详解
何谓悲观锁与乐观锁? 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。 悲观锁: 总是假设最坏的情况,每次去拿数据的时候都认为别人会对数据进行修改,所以每次拿数据时候都会上锁。因此在整个数据处理过程中,将数据处于锁定状态。这样别人想拿到这个数据就会block直到拿到锁。悲观...原创 2019-08-03 19:34:04 · 373 阅读 · 0 评论 -
java对象锁和类锁
synchronized修饰非静态方法,是对调用该方法的对象加锁,称为对象锁。 synchronized修饰静态方法,是对该类加锁,称为类锁。 每个对象的锁唯一。 对象内所有加锁的非静态方法共用一把锁(即对象锁),一个加锁非静态方法执行,另一个加锁非静态方法就不能执行了,要等待持有锁的线程释放锁,不同对象之间的方法不互相作用。 类中的所有加锁的静态方法共用一把锁(即类锁),一个加锁的静态方...原创 2019-08-04 02:58:36 · 447 阅读 · 0 评论 -
TCP 粘包/拆包的原因及解决方法
TCP 粘包/拆包的原因及解决方法 ava NIO学习时,发现,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。 发生TCP粘包或拆包有很多原因,现列出常见的几点,可能不全面,欢迎补充, 1、要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包。 2、待发送数据大于MSS(最大报文长度),TCP...原创 2019-09-08 23:32:15 · 203 阅读 · 0 评论