首页 > 解决方案 > Lock.java 和 LockSupport.java:我们有 LockSupport 的目的是什么?

问题描述

我在多线程编程中object.wait()使用了 basic 。object.notify() , object.notifyAll()

我知道我们有包裹java.util.concurrent而且它有java.util.concurrent.locks包裹。具体来说,java.util.concurrent.locks我们有 :ConditionLockLockSupport以及其他)。

我在网上阅读了有关此软件包的信息,并了解了LockCondition. 但是,我不明白LockSupport。我确实进行了搜索以了解LockSupport,但是没有找到任何相关的东西可以帮助我了解它的用途。我已经看到LockSupport我们有类似的方法park()unPark()等等。但是,我没有明白它的目的是什么LockSupport,它似乎或多或少是一样的Lock

任何人都可以帮助我理解为什么我们有LockSupport以及它没有Lock做什么。

标签: javamultithreadinglocks

解决方案


它是一个辅助类,具有其他类使用的非常低级别的并发机制。除非您想编写自己的更高级别的并发结构,否则您可能不会使用它。

还有其他帮助类,例如,它们为更可能使用的类java.util.concurrent.locks.AbstractQueuedSynchronizer提供其他机制(例如,等待队列AQS),等等。ReentrantLock


推荐阅读