同步(new Object())的用例

2024-01-19

在最近的一次answer https://stackoverflow.com/a/16709249/823393我建议可以实现的功能volatile by synchronizing在包含我们需要的变量的对象上volatile(提问者无权访问代码中的变量)。

这让我想到我实际上不需要阻塞包含的对象,我只需要实现内存屏障。作为synchronized达到both同步and内存屏障,如果我需要的只是内存屏障(如本例所示),那么使用它实际上会更好synchronized(new Object())达到我的记忆障碍and确保锁永远不会被争用?


正如这里所解释的:http://www.cs.umd.edu/~pugh/java/memory Model/jsr-133-faq.html#synchronization http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#synchronizationsynchronized(new Object()) 被视为 noop,可能会被编译器完全删除。你不会从中摆脱记忆障碍。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同步(new Object())的用例 的相关文章

随机推荐