在最近的回答中,我建议可以在包含我们需要的变量的对象上实现volatileby 的功能(asker无法访问代码中的变量).synchronizingvolatile
volatile
synchronizing
这让我觉得我实际上不需要阻塞包含对象,我只需要实现内存屏障.由于synchronized实现了同步和内存屏障,如果我只需要内存屏障(在这种情况下),实际上更好的是synchronized(new Object())用来实现我的内存屏障并确保锁永远不会争用?
synchronized
synchronized(new Object())
java multithreading synchronization shared-memory
java ×1
multithreading ×1
shared-memory ×1
synchronization ×1