0
USECASE变量:旋转凭证的数据存储区同步的,只有当它被更新
我想要什么:
- 当updateCredentials被调用时,它会等待,直到所有线程完成获取证书(通过同步)将凭证更新为新凭证。
- 我不想要调用doSomeQuery使对方等待获取凭证。这个对象可以在多个线程中使用,而且浪费了等待时间。
有没有一种方法/模式来实现这一目标?下面的代码示例实现了第1项而不是项目2
private Object credentialUpdate = new Object();
public void updateCredentials(String user, String pass) {
synchronize(credentialUpdate) {
this.user = user;
this.pass = pass;
}
}
public void doSomeQuery(String query) {
String curUser;
String curPass;
synchronize(credentialUpdate) {
curUser = this.user;
curPass;
}
// execute query
}
我不明白你的第二点,既不是你的doSomeQueryMethod()。你能更准确地解释你的目标是什么(你想要的是什么,而不仅仅是你不想要的)。 – davidxxx