为了验证同步,你需要将synthornized函数加在会同时进行存款的语句上,在你的代码中是run方法,
你可以将run方法声明为synthornized的,或者堆其中的存款语句同步
1:public void synthornized run()
2:synthornized(Object o){
for(int i=0;i<7000000;i++){
LocalAccount.publicAccount+=10;
}
你可以将run方法声明为synthornized的,或者堆其中的存款语句同步
1:public void synthornized run()
2:synthornized(Object o){
for(int i=0;i<7000000;i++){
LocalAccount.publicAccount+=10;
}
LocalAccount.publicAccount+=10
这句本来就是同步的。
System.out.println(LocalAccount.publicAccount);
LocalAccount.publicAccount+=10;
System.out.println(LocalAccount.publicAccount);
这里需要同步。不然结果,肯定不一样。(也就是所有可能打出的结果只差不是10,搂主试试)在多线程中楼主最好打个变量标示不同的线程:System.out.println(LocalAccount.hashCode+":"+LocalAccount.publicAccount);