摘要:http://www.cnblogs.com/x_wukong/p/4009709.html在原文的基础上,加入退出程序功能package Thread;/** * Created by sunyuming on 18/5/5. * 建立三个线程,A线程打印10次A,...
阅读全文
摘要:https://blog.csdn.net/u010963948/article/details/79006572Q:一个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费synchronizedlockdb lockQ:两个业务服务器,一个...
阅读全文
摘要:https://mp.weixin.qq.com/s?__biz=MzUxOTc4NjEyMw==&mid=2247483659&idx=1&sn=44c8620b89bdd7faff0faa928223f70c&chksm=f9f51aefce8293f994722...
阅读全文
摘要:https://www.cnblogs.com/wscit/p/6100476.html #(单线程情况) 对于单线程来说,只需要重写UncaughtException就好了,如下: 1 2 3 4 5 6 7 8 9 /** * Author: scw * Time: 16-11-24 */ pu
阅读全文
摘要:A转给B100元 两个关键点: 1 A B sql在一个事务中 2 A转账前,先查余额 开启事务 lined = update set A.money = A.money-100 where A.money >= 100 if(lined == 0) return 没钱; update set B.
阅读全文
摘要:https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247484057&idx=1&sn=c5fb63c68203001fa3a0545cef6c0e06&chksm=96cd42d5a1bacbc325759048d6149d49f8c91
阅读全文
摘要:https://www.zhihu.com/question/35250439 结论: 1 static 防止无意义多实例 2 当static时,ThreadLocal ref生命延长-ThreadMap的key在线程生命期内始终有值-ThreadMap的value在线程生命期内不释放——故线程
阅读全文
摘要:http://blog.csdn.net/wudiyong22/article/details/52141608 这篇文章看下来是对ThreadLocal内存泄漏问题解释的最清楚的,也是最佳使用实践指导 ThreadLocal引用对象存在两处:ThreadLocal tl = new ThreadL
阅读全文
摘要:(一)背景:1 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token,且每天有额度配额,最大调用次数限制这一条决定:必须将access_token 缓存起来,否则每天都超标返回null2 正常情况下access_token...
阅读全文
摘要:http://blog.csdn.net/mynameismt/article/details/51363120多线程与事务回滚业务模型期望的结果是这样的,检测子线程的异常情况,如果发生异常,主线程回滚,否则提交大家都知道runnable有以下特点: ...
阅读全文
摘要:(一)问题的引出、主要解决手段在线程中使用 batchupdate ,中的每一条记录都会自动的commit(但仍使用一个数据库连接会话,有点像hibernate一级缓存的概念,多个事务,一个会话),如果有异常,则只有异常的数据执行失败,其他数据不会rollback,并...
阅读全文
摘要:结论:1. 本句本身具有原子性2. 当前读(包含update等写入操作)锁定数据,直到事务提交https://www.zhihu.com/question/46733729/answer/128582074阿里的mysql大咖给出了肯定的答案比如,表名A,字段名为 n...
阅读全文
摘要:https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247484857&idx=1&sn=80086fcbf00cb847f152d533d654b46f&chksm=ebd63a95dca1b383fbb3a...
阅读全文
摘要:(一)先看一个 notify发生死锁的例子: http://blog.csdn.net/tayanxunhua/article/details/20998449 (本文虽是转载,不过也加入了一些个人观点) JVM多个线程间的通信是通过 线程的锁、条件语句、以及wait()、notify()/noti
阅读全文
摘要:http://blog.csdn.net/yanyan19880509/article/details/52435135前言前面介绍了java中排它锁,共享锁的底层实现机制,本篇再进一步,学习非常有用的读写锁。鉴于读写锁比其他的锁要复杂,不想堆一大波的文字,本篇会试图...
阅读全文
摘要:讨论 在同时开始 和 等待结束一起 两者的实现区别countDown:http://blog.csdn.net/gaolu/article/details/46224821这个例子非常好[java] view plain copyclass SubRunn...
阅读全文
摘要:1 callable和future http://blog.csdn.net/zy_281870667/article/details/72047325 一般情况,我们实现多线程都是Thread或者Runnable(后者比较多),但是,这两种都是没返回值的,所以我们需要使用callable(有返回值
阅读全文
摘要:https://www.cnblogs.com/xrq730/p/5060921.html 40个问题汇总 1、多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知
阅读全文
摘要:业务中经常碰到查询一个list后又需要对list进行后续处理(在sql层面不方便处理),需要循环遍历list如果list中各item的业务独立,可用future模式来大大提高性能1.关于future模式的概念参考:彻底理解Java的Future模式 https://...
阅读全文
摘要:假设并发环境下,业务代码中存在一些统计操作,为了保证线程安全,开发人员往往会对计数值进行加锁(synchronized),值得注意的是,直接对Integer类型进行加锁,似乎并不会达到预期效果,比如下面这段代码:Integer num = new Integer(0)...
阅读全文