// no lock on cache read, lock on cache write get(key): t = null // get from cache t = cache.get(key) if t == null: lock(_lock): // check cache again after locking t = cache.get(key) if t == null: t = getTimeConsuming(key) // insert into cache only if not null if t != null: cache.insert(key, t) return t
No comments:
Post a Comment