死锁面试题及详细答案.docx

死锁面试题及详细答案

一、基础必考题(入门级,必问)

1.请用自己的话解释一下,什么是死锁?举一个实际开发中的例子。

答案:死锁简单说就是,多个进程(或线程)互相持有对方需要的资源,又都不肯释放自己手里的资源,导致所有进程都卡住,无法继续执行,陷入一种“互相僵持”的状态。

实际开发例子:比如两个线程操作数据库和文件资源——线程A先获取了数据库连接(资源1),然后想去获取文件锁(资源2);而线程B先获取了文件锁(资源2),再想去获取数据库连接(资源1)。这时候线程A拿着资源1等资源2,线程B拿着资源2等资源1,两者都不释放手里的资源,就形成了死锁。

注意:不是所有“等待资源”都是死锁,必须是

文档评论(0)

1亿VIP精品文档

相关文档