008面试题__多线程并发_互斥锁_死锁
1.多线程并发的问题/解决方法
--问:由于线程切换的时机不确定,导致操作顺序出现了混乱 ,产生不正常后果-->出现死循环
--解:锁机制(给方法上锁,给要锁的代码块锁上)
2.互斥锁
--当使用多个synchronized锁定多个代码片段,并且指定的锁对象相同
3.死锁
--1.问:当两个线程各自持有一个锁的过程中等待对方先释放锁时,就会形成一种僵持状态,导致程序卡住且无法再继续往后面执行
--问题所在:锁中套锁(synchronized嵌套)
--2.当无法避免嵌套时,就必须保证多个线程锁对象的持有顺序必须一致
--答:A线程在持有锁1的过程中去持有锁2时,b线程也要以这样的顺序进行