多把锁:
当多个线程执行的业务没有关系时,相互之间不会发生线程安全问题,可以将锁的粒度细分
优点:可以增大并发度
缺点:如果一个线程同时获得多把锁,就容易发生死锁
活跃性:
1.死锁:
一个线程需要同时获得多把锁,这时就容易发生死锁
A线程获得了A对象锁,接下来需要获得B对象锁
B线程获得了B对象锁,接下来需要获得A对象锁
此时就可能发生死锁
2.活锁:
活锁出现在两个线程互相改变对方的结束条件,最后谁也无法结束
如一个线程进行减操作,一个线程进行加操作,则两个线程都到达不了结束状态
3.饥饿:
一个线程由于优先级太低,始终得不到CPU调度执行,也不能够结束