0

谁能给我一些例子来区分 ReentrantLock 和 AbstractQueuedSynchronizer,在什么情况下,我应该使用 ReentrantLock,反之,什么时候应该使用 AbstractQueuedSynchronizer。

4

1 回答 1

2

我什么时候应该使用 AbstractQueuedSynchronizer

可能永远不会。在评论链接中查看我的答案,了解 AQS 的用途。AQS 是一个为并发构造提供支持的类。如果您不编写某种较低级别的并发工具,则永远不要使用 AQS。juc 中提供的大多数(如果不是全部)障碍应该足够了。

谁能给我一些例子来区分 ReentrantLock 和 AbstractQueuedSynchronizer

一个更好的问题是区分 ReentrantLock 和

  • 信号
  • 循环障碍
  • 可重入读写锁
  • 倒计时锁存器

这些类中的每一个都使用 AQS 来支持并发。

于 2013-09-04T15:13:39.357 回答