分析 | 线程的有难度事儿,Actor能解决吗?
在这个黑盒子中,保存了账户的余额200。 你想存款了,就发一个存款的消息过来,想取款就发一个取款的消息过来,发完消息就可以撤离了(异步操作)。 不管是有一个消息,还是有100个消息,统统放到黑盒子的一个队列中,然后让Account这个黑盒子一个个顺序处理,
高并发解析,线程和线程池的总结
New(新建状态):用new关键字创建线程之后,该线程处于新建状态,此时仅由JVM为其分配内存,并初始化其成员变量 Runnable(就绪状态):当调用Thread.start方法后,该线程处于就绪状态。JVM会为其分配虚拟机栈等,然后等待系统调度 running(运行状态):处于就绪
记一次大神Dubbo线程池事故排查
duubo在互联网技术中是中的非常广泛的,从我实习到现在我所在的公司,都是使用的dubbo做rpc框架,所以这也导致了我们需要更加深入的去了解这门技术,因为我们的遇到的问题无时无刻都会存在,本次我就跟大家讲讲我的一次线上dubbo线程池耗尽的事故排查思路。

Java双重排除锁单例真的线程放心吗?
双重检查锁单例模式 乍一看下面单例模式没啥问题,还加了同步锁保证线程安全,从表面上看确实看不出啥问题,当在同一时间多个线程同时执行该单例时就会出现JVM指令重排的问题,从而可能导致某一个线程获取的single对象未初始化对象。 public classSingle{ pr

线程的一生:我的创造者成就了优秀的我!
我出身在一个小山村,那是一个与世隔绝的世外桃源,然而年纪轻轻的我,却展现出了与众不同的性格。比如:当身边的同龄人还在沉浸于玩泥巴的喜悦时,我就开始思考如何避免下雨天对出行造成的阻碍?当身边的同龄人还在沉浸于夕阳下的奔跑时,我已经开始思考为什
MDC是线程独立、线程安全的容器
在传统系统中,如果能够提供日志输出,基本上已经能够满足需求的。但一旦将系统拆分成两套及以上的系统,再加上负载均衡等,调用链路就变得复杂起来。 特别是进一步向微服务方向演化,如果没有日志的合理规划、链路追踪,那么排查日志将变得异常困难。 比如

创建线程的几个稳健手法
1. 创建线程的四种方式 实现Runnable 重写run方法 继承Thread 重写run方法 线程池创建 Executors.newCachedThreadPool() 实现Callable接口 2. Thread线程操作方法 当前线程睡眠指定mills毫秒 Thread.sleep([mills]) 当前线程优雅让出执行权 Thread.yield()

分析各有长处的Java线程和操作系统的线程
1. 用户空间和内核空间 关于内核态和用户态我们在 了解操作系统的那些事儿,从这篇文章开始 这篇文章中已经详细介绍过,这里不再过多赘述。 至于什么是系统空间和用户空间也非常好理解:在操作系统中,内存通常会被分成用户空间(User space)与内核空间(Kerne