面试高手系列:如何识别死锁成因及预防策略?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1235个文字,预计阅读时间需要5分钟。
一个面试阿里的伙伴私下告诉我:今天我被一个死锁问题难到了。平时我都特别注意死锁这块的内容,但回答问题时就是想不起来。这里可能存在一个误区,认为技术是要靠记忆的。
普通人:一个去阿里面试的小伙伴私信我说:今天被一个死锁的问题难到了。
平常我都特意看了死锁这块的内容,但是回答的时候就想不起来。
这里可能存在一个误区,认为技术是要靠记的。
大家可以想想,平时写代码的时候,这些代码是背下来的吗?
遇到一个需求的时候,能够立刻提供解决思路,这个也是记下来的吗?
所有的技术问题,都可以用一个问题来解决: “如果让你遇到这个问题,你会怎么设计”
当你大脑一篇空白时,说明你目前掌握的技术只能足够支撑你写CURD的能力。
好了,下面来看看普通人和高手是如何回答这个问题的。
嗯......…
高手:死锁,简单来说就是两个或者两个以上的线程在执行的过程中,争夺同一个共享资源造成的相互等待的现象。
如果没有外部干预,线程会一直阻塞无法往下执行,这些一直处于相互等待资源的线程就称为死锁线程。
导致死锁的条件有四个,也就是这四个条件同时满足就会产生死锁。
本文共计1235个文字,预计阅读时间需要5分钟。
一个面试阿里的伙伴私下告诉我:今天我被一个死锁问题难到了。平时我都特别注意死锁这块的内容,但回答问题时就是想不起来。这里可能存在一个误区,认为技术是要靠记忆的。
普通人:一个去阿里面试的小伙伴私信我说:今天被一个死锁的问题难到了。
平常我都特意看了死锁这块的内容,但是回答的时候就想不起来。
这里可能存在一个误区,认为技术是要靠记的。
大家可以想想,平时写代码的时候,这些代码是背下来的吗?
遇到一个需求的时候,能够立刻提供解决思路,这个也是记下来的吗?
所有的技术问题,都可以用一个问题来解决: “如果让你遇到这个问题,你会怎么设计”
当你大脑一篇空白时,说明你目前掌握的技术只能足够支撑你写CURD的能力。
好了,下面来看看普通人和高手是如何回答这个问题的。
嗯......…
高手:死锁,简单来说就是两个或者两个以上的线程在执行的过程中,争夺同一个共享资源造成的相互等待的现象。
如果没有外部干预,线程会一直阻塞无法往下执行,这些一直处于相互等待资源的线程就称为死锁线程。
导致死锁的条件有四个,也就是这四个条件同时满足就会产生死锁。

