java - Lock.java 和 LockSupport.java:我们有 LockSupport 的目的是什么?
问题描述
我在多线程编程中object.wait()
使用了 basic 。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
做什么。
解决方案
它是一个辅助类,具有其他类使用的非常低级别的并发机制。除非您想编写自己的更高级别的并发结构,否则您可能不会使用它。
还有其他帮助类,例如,它们为您更可能使用的类java.util.concurrent.locks.AbstractQueuedSynchronizer
提供其他机制(例如,等待队列AQS
),等等。ReentrantLock
推荐阅读
- java - Java nativeQuery:带有 AliasToEntityMapResultTransformer 的 ResultSet 在地图中具有无序列
- python - Colour according to custom values in Matplotlib
- python - 将列表中的每第四个项目保存到python字典中的一个键
- vb.net - 在表单的其他按钮中使用按钮变量
- excel - filestream - open excel file read only fails
- sql - Lag function in Microsoft Access (Window Function)
- xamarin - 如何将琐碎的 OpenGL 功能添加到 Xamarin 表单应用程序
- powerbi - Power BI problem in direct active relationship
- javascript - Loop regex until only :okthisisanemoji: exists between sets of :
- javascript - Typescript, return type not assignable to another