死锁 deadLock

什么是死锁 如果两个线程互相持有对方获得的锁 并尝试获得对方的那把锁 就会造成死锁

死锁的示例代码

死锁如何使用jvm命令查找

    jps 查看线程id

    jstack show info 


如何避免死锁

    避免一个线程同时获得多个锁

    避免一个线程在锁内同时占用多个资源 尽量保证每个锁只占用一个资源

      使用定时锁

    对于数据库锁 加锁和解锁必须在一个数据库连接里 否则会出现解锁失败的情况  

你可能感兴趣的:(死锁 deadLock)