हां, अपने कैशिंग कोड में, आप अपने डेटाबेस-एक्सेसिंग कोड को lock
के अंदर रखना चाहेंगे खंड मैथा। हालांकि, this
को लॉक न करें . आम तौर पर आप ऐसा कुछ करेंगे
private static readonly object staticObjectToLockOn = new object();
...
if (cache[cacheKey] == null)
{
lock(staticObjectToLockOn)
{
// double-check the cache is still null inside the lock
if (cache[cacheKey] == null)
{
// get data from the database, add to cache
}
}
}