作为 JVM STM 框架分析的一部分,我正在考虑重新设计开源库的锁定机制以改用 STM。 然后我会运行一些测试来比较性能、编码的难易程度等。
显然,性能测试必须支持 STM 的乐观锁定,但稍后可以计算出其语义。
但是,目前我只对候选开源库感兴趣。我想到的一个是 EhCache,因为它具有内部锁定措施。
还有什么可能是合适的候选人?
最佳答案
我认为STM
- 但是生成了更优雅的代码
- 比合理使用锁要慢很多。它可能比编写没有锁的单线程代码慢得多。
注意:STM 重新锁定可能会陷入死锁之类的情况,即它永远无法获得所需的所有锁。
您可能会发现 STM 太不成熟,无法提供性能优势。
关于Java:重新设计开源库的并发性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790413/