为什么Java提供了LockSupport却没有用
Why is LockSupport provided by Java but not useful
奇怪的是,Java Doc 说:
These methods are designed to be used as tools for creating
higher-level synchronization utilities, and are not in themselves
useful for most concurrency control applications.
有没有example/scenario说明JavaSupport
有用的?
它被 java.util.concurrent
包中的许多 类 使用,如 Javadoc 中所述。你不应该(或者更确切地说你不需要)使用它,除非你正在创建自己的高级并发 类,因为有很多现成的易于使用的 类 可以完成您想要的,而无需进入 "bare metal".
Is there any example/scenario to illustrate [LockSupport
] is useful?
查看Java并发classes的源码,找到class的用处:
这些是 LockSupport
有用的场景类型示例。
他们可能还说明了您引用的 javadoc 中的注释。这些原语是低级的,很难直接使用。
为了帮助您入门,LockSupport
在标准 class 库 (Java 8) 中的以下 classes 中使用:
- java.util.concurrent.Exchanger
- java.util.concurrent.CompletableFuture
- java.util.concurrent.SynchronousQueue
- java.util.concurrent.ConcurrentHashMap
- java.util.concurrent.locks.StampedLock
- java.util.concurrent.locks.AbstractQueuedSynchronizer
- java.util.concurrent.locks.AbstractQueuedLongSynchronizer
- java.util.concurrent.LinkedTransferQueue
- java.util.concurrent.FutureTask
- java.util.concurrent.ForkJoinPool
- java.util.concurrent.Phaser
奇怪的是,Java Doc 说:
These methods are designed to be used as tools for creating higher-level synchronization utilities, and are not in themselves useful for most concurrency control applications.
有没有example/scenario说明JavaSupport
有用的?
它被 java.util.concurrent
包中的许多 类 使用,如 Javadoc 中所述。你不应该(或者更确切地说你不需要)使用它,除非你正在创建自己的高级并发 类,因为有很多现成的易于使用的 类 可以完成您想要的,而无需进入 "bare metal".
Is there any example/scenario to illustrate [
LockSupport
] is useful?
查看Java并发classes的源码,找到class的用处:
这些是
LockSupport
有用的场景类型示例。他们可能还说明了您引用的 javadoc 中的注释。这些原语是低级的,很难直接使用。
为了帮助您入门,LockSupport
在标准 class 库 (Java 8) 中的以下 classes 中使用:
- java.util.concurrent.Exchanger
- java.util.concurrent.CompletableFuture
- java.util.concurrent.SynchronousQueue
- java.util.concurrent.ConcurrentHashMap
- java.util.concurrent.locks.StampedLock
- java.util.concurrent.locks.AbstractQueuedSynchronizer
- java.util.concurrent.locks.AbstractQueuedLongSynchronizer
- java.util.concurrent.LinkedTransferQueue
- java.util.concurrent.FutureTask
- java.util.concurrent.ForkJoinPool
- java.util.concurrent.Phaser