Files
tianrunCRM/Assets/BestHTTP/Caching/HTTPCacheFileLock.cs

44 lines
1.0 KiB
C#
Raw Normal View History

2020-07-09 08:50:24 +08:00
#if !BESTHTTP_DISABLE_CACHING && (!UNITY_WEBGL || UNITY_EDITOR)
using System;
using System.Collections.Generic;
namespace BestHTTP.Caching
{
sealed class HTTPCacheFileLock
{
private static Dictionary<Uri, object> FileLocks = new Dictionary<Uri, object>();
private static object SyncRoot = new object();
internal static object Acquire(Uri uri)
{
lock (SyncRoot)
{
object fileLock;
if (!FileLocks.TryGetValue(uri, out fileLock))
FileLocks.Add(uri, fileLock = new object());
return fileLock;
}
}
internal static void Remove(Uri uri)
{
lock (SyncRoot)
{
if (FileLocks.ContainsKey(uri))
FileLocks.Remove(uri);
}
}
internal static void Clear()
{
lock (SyncRoot)
{
FileLocks.Clear();
}
}
}
}
#endif