【Android面试八股文】请说一说死锁的场景和对应的解决方案

请说一说死锁的场景和对应的解决方案

  • 这道题想考察什么?
    1. 是否真正了解死锁的定义?
    2. 是否掌握死锁的排查与解决方法

一、什么是死锁

1.1 死锁的定义

死锁是指两个或两个以上的进程在执行过程中,

由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,

若无外力作用,它们都将无法推进下去。

此时称系统处于死锁状态或系统产生了死锁。

1.2 死锁的危害

死锁是一种严重的并发问题,其危害主要体现在以下几个方面:

  1. 系统资源的浪费

    • 死锁会导致线程占用的资源无法被释放,其他需要这些资源的线程也无法获取到它们,造成系统资源的极大浪费。
  2. 程序响应停止

    • 当发生死锁时,相关的线程会一直处于等待状态,无法继续执行。这种情况会导致程序的某部分甚至整个应用程序挂起或停止工作。
  3. 降低系统性能

    • 由于部分线程陷入死锁无法继续执行,系统的整体性能和吞吐量会显著下降。其他需要被锁定资源的线程也会被迫停滞,进一步影响系统性能。
  4. 用户体验不佳

    • 在用户使用的应用程序中发生死锁,会导致界面卡顿、操作无响应等问题,

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 13:16:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 13:16:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 13:16:02       82 阅读
  4. Python语言-面向对象

    2024-06-12 13:16:02       91 阅读

热门阅读

  1. docker run的复杂使用

    2024-06-12 13:16:02       25 阅读
  2. Oracle 最终会淘汰 MySQL 吗?

    2024-06-12 13:16:02       34 阅读
  3. AES加密、解密工具类

    2024-06-12 13:16:02       30 阅读
  4. Linux网络设置

    2024-06-12 13:16:02       23 阅读
  5. Android面试题汇总-Jetpack组件

    2024-06-12 13:16:02       27 阅读
  6. 前端的强缓存和协商缓存

    2024-06-12 13:16:02       30 阅读
  7. ffmpeg的部署踩坑及简单使用方式

    2024-06-12 13:16:02       31 阅读