评论者:adamclements
是的,第一个补丁肯定是不对的,我留着它是为了提供一些对话的上下文,但为了清晰起见,最好还是删除它。
对于关注此讨论但不想反汇编和观察字节码的人来说,这里有一个包含Javaynchronized块与Clojure锁定差异的摘要
https://gist.github.com/AdamClements/2ae6c4919964b71eb470
虽然我可以看到Java版本的差异,但我很难找到与规范偏离的地方,但Clojure版本看起来比Java版本更接近规范描述的内容!
如果有人比我更了解这个话题,并且能参与AOSP错误
https://code.google.com/p/android/issues/detail?id=80823
,那么我们也许可以将这作为一个too focused在Java实现在我而不是JVM规范上的Android错误来解决,或者他们也许会发现Clojure实现中有错误。我已经上传了原始的Clojure行为并要求他们解释为什么它失败的原因。