4
Java中的volatile和Synchronized之间的区别
我想知道将变量声明为as volatile和始终synchronized(this)在Java块中访问变量之间的区别吗? 根据本文http://www.javamex.com/tutorials/synchronization_volatile.shtml可以说很多,有很多区别,但也有一些相似之处。 我对这段信息特别感兴趣: ... 访问volatile变量永远不会阻塞:我们只做简单的读取或写入操作,因此与同步块不同,我们永远不会保持任何锁; 因为访问易失性变量永远不会持有锁,所以它不适用于我们希望以原子操作方式进行读写更新的情况(除非我们准备“错过更新”); 读-更新-写是什么意思?写不仅是更新,还是仅表示更新是取决于读取的写? 最重要的是,何时声明变量volatile而不是通过synchronized块访问变量更合适?volatile对依赖于输入的变量使用它是一个好主意吗?例如,有一个称为的变量render可以通过渲染循环读取并由keypress事件设置吗?