多把锁:

当多个线程执行的业务没有关系时,相互之间不会发生线程安全问题,可以将锁的粒度细分

优点:可以增大并发度

缺点:如果一个线程同时获得多把锁,就容易发生死锁


活跃性:

1.死锁:

一个线程需要同时获得多把锁,这时就容易发生死锁

A线程获得了A对象锁,接下来需要获得B对象锁

B线程获得了B对象锁,接下来需要获得A对象锁

此时就可能发生死锁


2.活锁:

活锁出现在两个线程互相改变对方的结束条件,最后谁也无法结束

如一个线程进行减操作,一个线程进行加操作,则两个线程都到达不了结束状态


3.饥饿:

一个线程由于优先级太低,始终得不到CPU调度执行,也不能够结束