线程中volatile的原理,求大神指教 线程 volatile 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 volatile 保证的是某个被修饰变量的一致性,而同步性是需要sync或者锁来保证的,你输出值中先输出了2然后再输出1,是因为一个线程在完成0-->1和执行输出=====1的过程中间,另一个线程完成了1-->2后输出=====2,形成了你说的输出结果,是线程语句执行顺序的问题。 去看《java并发编程实践》吧 对,我想表达的就是在另一个线程完成1——>2的输出后,a的值应该是2了,在另一个线程打印“=====”+a的时候,这里为什么没有去获取a的最新值。volatile保持一致性的原理不是不复制副本,每次都获取内存中a的真实值么。如果这里保持一致性就应该打印“=======2”了,而不是打印“========1”了 还是说volatile在查询的时候并不会保证数值的一致性,只有在更改的时候才去检查数据是否一致?? volatile在只有一个写入者和多个读取者时可以不用同步.如果有多个写入者线程你肯定要同步才能得到正确结果. "1".substring(1).length() 一个问题,望高手解答~~~!!! 请教个简单问题 请教怎样重新把jre运行起来? 推荐个工具给俺呗! java初学者必须掌握的基本概念 请各位高手近来指点小弟一下,在此些过了!很急!!在线等,请近来看看!! java的函数指针问题 【请教】java中接口问题 .ps文件用什么能打开? 在框架结构的网页中,子框架中的表单无法传递参数,怎么办?? 初学者的迷惑
去看《java并发编程实践》吧