Fork me on GitHub
摘要: 简述 LockSupport 是一个非常方便实用的线程阻塞工具,它可以在线程内任意位置让线程阻塞。 和 Thread.suspend()相比,它弥补了由于 resume()在前发生,导致线程无法继续执行的情况。 和 Object.wait()相比,它不需要先获得某个对象的锁,也不会抛出 Interr 阅读全文
posted @ 2017-03-05 17:59 郑斌blog 阅读(1816) 评论(1) 推荐(0)
摘要: 简述 这两个操作就好比播放器的暂停和恢复。 但这两个 API 是过期的,也就是不建议使用的。 不推荐使用 suspend() 去挂起线程的原因,是因为 suspend() 在导致线程暂停的同时,并不会去释放任何锁资源。其他线程都无法访问被它占用的锁。直到对应的线程执行 resume() 方法后,被挂 阅读全文
posted @ 2017-03-05 16:59 郑斌blog 阅读(14348) 评论(0) 推荐(1)
摘要: 简述 ReentrantLock 是一个可重入的互斥(/独占)锁,又称为“独占锁”。 ReentrantLock通过自定义队列同步器(AQS-AbstractQueuedSychronized,是实现锁的关键)来实现锁的获取与释放。 其可以完全替代 synchronized 关键字。JDK 5.0 阅读全文
posted @ 2017-03-05 09:08 郑斌blog 阅读(8011) 评论(0) 推荐(0)