随笔分类 - 

摘要:这里以ReentrantLock为例: 1 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待, 阅读全文
posted @ 2018-02-07 20:35 强迫疒 阅读(239) 评论(0) 推荐(0)
摘要:1 悲观锁,乐观锁 悲观锁:顾名思义,很悲观,就是每次拿数据的时候都认为别的线程会修改数据,所以在每次拿的时候都会给数据上锁。上锁之后,当别的线程想要拿数据时,就会阻塞,直到给数据上锁的线程将事务提交或者回滚。传统的关系型数据库里就用到了很多这种锁机制,比如行锁,表锁,共享锁,排他锁等,都是在做操作 阅读全文
posted @ 2017-11-23 10:05 强迫疒 阅读(1041) 评论(0) 推荐(0)