版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bestxianfeng163/article/details/85275160
package com.java.preventIp;
public class DirtyRead {
private String username = "bjsxt";
private String password = "123";
public synchronized void setValue(String username,String password){
this.username = username;
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.password = password;
System.out.println("setValue最终结果是:username = "+username+",password = "+password);
}
public void getvalue(){//如果这里不加synchronize,便会造成脏读的问题
System.out.println("getvalue方法得到的是:username = "+this.username+",password = "+this.password);
}
public static void main(String[] args) throws InterruptedException {
final DirtyRead dr = new DirtyRead();
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
dr.setValue("zd", "456");
}
});
t1.start();
Thread.sleep(1000);
dr.getvalue();
}
}