Java多线程编程核心技术(第二版),章节:1.11.7 ,学习笔记
内容:使用stop() 释放锁给数据造成不一致的结果
stop()方法已经被标记为已过期方法,原因是:它对锁定的对象进行“ 解 锁”,会导致数据得不到同步的处理,进而出现数据不一致 的问题。(相当于同步失效,导致数据有问题)
验证方案:(个人画的草图,可能有问题)
demo代码:
MyService.java
public class MyService {
private String username = "a";
private String password = "aa";
synchronized public String getUserName() {
return this.username;
}
synchronized public String getPassword() {
return this.password;
}
synchronized public void printString(String username, String password) {
try {
this.username = username;
Thr