我在多线程编程中使用了basic object.wait(),object.notify() , object.notifyAll() .
我知道我们有java.util.concurrent包,也有java.util.concurrent.locks包。特别是在java.util.concurrent.locks中,我们有:Condition、Lock和LockSupport (等等)。
我在网上读到了这个包,并且了解了Lock和Condition的基本知识。然而,我不理解LockSupport。我确实是为了了解LockSupport而搜索的,但是没有找到任何相关的东西来帮助我理解它的用途。我已经看到,在LockSupport中我们有park()、unPark()等方法。然而,我没有理解LockSupport的目的,它似乎在做一些类似于Lock的事情。
谁能帮我理解一下为什么我们有LockSupport,以及它做了什么Lock不做的事情。
发布于 2020-02-22 17:35:19
它是一个助手类,具有其他类使用的非常低级别的并发机制。除非您想要编写自己的更高级别的并发结构,否则可能不会使用它。
还有其他像java.util.concurrent.locks.AbstractQueuedSynchronizer这样的助手类,它们为您更有可能使用的类提供其他机制(例如,在AQS情况下的等待队列),比如ReentrantLock等等。
https://stackoverflow.com/questions/60354635
复制相似问题