Skip to content
面试手册
Search
K
Main Navigation
首页
Java
Java基础面试题
JVM面试题
Java并发编程面试题
数据库
MySQL面试题
Redis面试题
MyBatis面试题
微服务
Spring面试题
SpringMVC面试题
SpringBoot面试题
SpringCloud面试题
Dubbo面试题
MQ
消息队列基础
RabbitMQ精选面试题
Kafka精选面试题
RocketMQ精选面试题
学习
Java
SpringBoot
GitHub
Twitter
Appearance
GitHub
Twitter
Menu
Return to top
目录概览
Table of Contents for current page
形成死锁的四个必要条件是什么?
#
互斥条件
: 线程(进程)对于所分配到的资源具有排它性,即一个资源只能被一个线程(进程)占用,直到被该线程(进程)释放
请求与保持条件
: 一个线程(进程)因请求被占用资源而发生阻塞时,对已获得的资源保持不放。
不剥夺条件
: 线程(进程)已获得的资源在末使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。
循环等待条件
: 当发生死锁时,所等待的线程(进程)必定会形成一个环路(类似于死循环),造成永久阻塞