首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JVM授命重排的例子

2013-03-28 
JVM指令重排的例子amountA amountA - 50committed trueamountB amountB + 50这时候打印出来的值

JVM指令重排的例子

        amountA = amountA - 50;        committed = true;        amountB = amountB + 50;


这时候打印出来的值可能就是 A = 50, B = 100 .


要解决这个问题,就要给doTransfer()和printAccountsWhenDone()都加上syncrhonzied关键字,当t1执行doTransfer时t2必须等待,等t1执行完后t2再去获取A和B的值,即使doTransfer()内部有指令重排,也不会有问题。

热点排行