
Java
文章平均质量分 66
bruceMaNo1
不止会敲代码的程序员
展开
-
线程死锁及避免方式
线程死锁描述的是这样一种情况:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 线程死锁 如下图所示,线程 A 持有资源 2,线程 B 持有资源 1,他们同时都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态。 线程死锁示意图 下面通过一个例子来说明线程死锁,代码模拟了上图的死锁的情况 (代码来源于《并发编程之美》): public class DeadLockDemo { private static Object r.原创 2021-08-24 15:17:44 · 1065 阅读 · 0 评论 -
线程的声明周期和状态
Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态(图源《Java 并发编程艺术》4.1.4 节)。 Java 线程的状态 线程在生命周期中并不是固定处于某一个状态而是随着代码的执行在不同状态之间切换。Java 线程状态变迁如下图所示(图源《Java 并发编程艺术》4.1.4 节): Java 线程状态变迁 由上图可以看出:线程创建之后它将处于 NEW(新建) 状态,调用 start() 方法后开始运行,线程这时候处于 READY(可运行) 状态。可运行状态的原创 2021-08-24 15:10:56 · 175 阅读 · 0 评论 -
Spring Boot+Dubbo 大宝剑
Spring Boot +Dubbo 融合 ,想想都很刺激啊有木有 集成很简单,首先看 服务提供者 导入依赖,maven为例,服务最少依赖项: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...原创 2019-04-23 18:18:15 · 173 阅读 · 0 评论