1. 程序中出现异常,默认情况下锁是会被释放的
    2. 并发处理过程中有异常要多加小心,不然可能会发生不一致的现象

    image.png

    1. 假如在抛出异常的地方用try……catch……进行捕获,那么在catch中进行合适的处理,还是可以进行让线程继续运行下去的(不释放锁,不会造成等待锁的线程进入同步区,读到中间产生的异常数据)

    image.png

    1. 上图中t2本应该从10开始或者本应该就是t1一直执行,t2不允许执行的