2018年8月31日

Lock的lockInterruptibly()方法

摘要: lockInterruptibly()方法能够中断等待获取锁的线程。当两个线程同时通过lock.lockInterruptibly()获取某个锁时,假若此时线程A获取到了锁,而线程B只有等待,那么对线程B调用threadB.interrupt()方法能够中断线程B的等待过程。 示例: 要执行doBu 阅读全文

posted @ 2018-08-31 16:57 Deltadeblog 阅读(2581) 评论(4) 推荐(0) 编辑

synchronized和ReentrantLock

摘要: 相同之处 都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程都必须阻塞在同步块外面等待,而进行线程阻塞和唤醒的代价是比较高的(操作系统需要在用户态与内核态之间来回切换,代价很高,不过可以通过对锁优化进行改善)。 不同之处 实现层次 这两种方式最大区别就是对于S 阅读全文

posted @ 2018-08-31 16:01 Deltadeblog 阅读(187) 评论(0) 推荐(0) 编辑

导航