1、 死锁产生原因 并举个例子

    • 首先具有互斥条件
    • 不可剥夺
    • 持有并等待
    • 循环等待
      • 例子:
    • T1、T2两个线程,A、B两把锁、临界资源为X,获取X需要加两把锁,T1获取到了A锁,此时T2获取到B锁,T1在等待B锁,T2在等待A锁,产生了死锁

    2、 页面置换算法

    1. 最佳置换算法
      1. 每次淘汰的页面都是以后永不使用,或者最长时间内不会被访问的页面
    2. 先进先出算法( FIFO )
      1. 放进队列,每次弹出队头
    3. 最近最久未使用算法( LRU )
      1. 淘汰最近最久未使用
    4. 时钟置换算法
      1. ???

    3、 Linux中异常和中断的区别
    https://blog.csdn.net/u011068464/article/details/10284741
    中断是由硬件设备产生的
    异常是由CPU产生的
    最后都是由CPU发送给内核,由内核去处理

    • 异常是由于执行了现行指令所引起的。由于系统调用引起的中断属于异常。
    • 中断则是由于系统中某事件引起的,该事件与现行指令无关。

    4、 数据库隔离级别
    1)未提交读
    xxxxx
    2)提交读
    xxxxxx
    3)重复读
    xxxxxxxx
    3)可串行化
    xxxxxzzzz


    5、 服务器出现大量close_wait的连接的原因是什么?有什么解决方法

    • 服务器内部业务处理占用了过多时间,都没能处理完业务;或者还有数据需要发送;或者服务器的业 务逻辑有问题,没有执行close()方法 ,当一端调用close()时,会发送FIN数据报
    • 服务器的父进程派生出子进程,子进程继承了socket,收到FIN的时候子进程处理但父进程没有处理 该信号,导致socket的引用不为0无法回收