这是一个与编程语言无关的问题,因为它可以解决任何开发平台上可能出现的情况。
我想知道是否有一种常见的设计模式来处理这种情况?
这是我的伪代码尝试解决问题:
// check for resource. If it exists return it.
if(inCache()) {
return getCachedResource();
}
// resource has expired, sychronize users so only
// one executes the following block at a time
lock {
// check if a previous request re-cached the resource
if (inCache()) {
return getCachedResource();
}
// get the resource
getResource();
return getCachedResource();
}
有没有更好的方法来解决这个问题?还有其他问题我可能没有考虑过吗?