1、 死锁产生原因 并举个例子
- 首先具有互斥条件
- 不可剥夺
- 持有并等待
- 循环等待
- 例子:
- T1、T2两个线程,A、B两把锁、临界资源为X,获取X需要加两把锁,T1获取到了A锁,此时T2获取到B锁,T1在等待B锁,T2在等待A锁,产生了死锁
2、 页面置换算法
- 最佳置换算法
- 每次淘汰的页面都是以后永不使用,或者最长时间内不会被访问的页面
- 先进先出算法( FIFO )
- 放进队列,每次弹出队头
- 最近最久未使用算法( LRU )
- 淘汰最近最久未使用
- 时钟置换算法
- ???
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无法回收
