mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-21 01:24:44 +01:00
Merge pull request #13213 from Ich1goSan/master
move to new System.Threading.Lock type for better performance
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.Events;
|
||||
using MediaBrowser.Common.Extensions;
|
||||
@@ -19,7 +20,7 @@ namespace Emby.Server.Implementations.AppBase
|
||||
public abstract class BaseConfigurationManager : IConfigurationManager
|
||||
{
|
||||
private readonly ConcurrentDictionary<string, object> _configurations = new();
|
||||
private readonly object _configurationSyncLock = new();
|
||||
private readonly Lock _configurationSyncLock = new();
|
||||
|
||||
private ConfigurationStore[] _configurationStores = Array.Empty<ConfigurationStore>();
|
||||
private IConfigurationFactory[] _configurationFactories = Array.Empty<IConfigurationFactory>();
|
||||
|
||||
@@ -4,6 +4,7 @@ using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
@@ -13,7 +14,7 @@ namespace Emby.Server.Implementations.Devices
|
||||
{
|
||||
private readonly IApplicationPaths _appPaths;
|
||||
private readonly ILogger<DeviceId> _logger;
|
||||
private readonly object _syncLock = new object();
|
||||
private readonly Lock _syncLock = new();
|
||||
|
||||
private string? _id;
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ public sealed class LibraryChangedNotifier : IHostedService, IDisposable
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly ILogger<LibraryChangedNotifier> _logger;
|
||||
|
||||
private readonly object _libraryChangedSyncLock = new();
|
||||
private readonly Lock _libraryChangedSyncLock = new();
|
||||
private readonly List<Folder> _foldersAddedTo = new();
|
||||
private readonly List<Folder> _foldersRemovedFrom = new();
|
||||
private readonly List<BaseItem> _itemsAdded = new();
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
||||
private readonly IUserManager _userManager;
|
||||
|
||||
private readonly Dictionary<Guid, List<BaseItem>> _changedItems = new();
|
||||
private readonly object _syncLock = new();
|
||||
private readonly Lock _syncLock = new();
|
||||
|
||||
private Timer? _updateTimer;
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ namespace Emby.Server.Implementations.IO
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IServerConfigurationManager _configurationManager;
|
||||
|
||||
private readonly List<string> _affectedPaths = new List<string>();
|
||||
private readonly object _timerLock = new object();
|
||||
private readonly List<string> _affectedPaths = new();
|
||||
private readonly Lock _timerLock = new();
|
||||
private Timer? _timer;
|
||||
private bool _disposed;
|
||||
|
||||
|
||||
@@ -81,8 +81,8 @@ namespace Emby.Server.Implementations.Library
|
||||
/// <summary>
|
||||
/// The _root folder sync lock.
|
||||
/// </summary>
|
||||
private readonly object _rootFolderSyncLock = new object();
|
||||
private readonly object _userRootFolderSyncLock = new object();
|
||||
private readonly Lock _rootFolderSyncLock = new();
|
||||
private readonly Lock _userRootFolderSyncLock = new();
|
||||
|
||||
private readonly TimeSpan _viewRefreshInterval = TimeSpan.FromHours(24);
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Emby.Server.Implementations.ScheduledTasks
|
||||
private readonly IApplicationPaths _applicationPaths;
|
||||
private readonly ILogger _logger;
|
||||
private readonly ITaskManager _taskManager;
|
||||
private readonly object _lastExecutionResultSyncLock = new();
|
||||
private readonly Lock _lastExecutionResultSyncLock = new();
|
||||
private bool _readFromFile;
|
||||
private TaskResult _lastExecutionResult;
|
||||
private Task _currentTask;
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Emby.Server.Implementations.Session
|
||||
/// <summary>
|
||||
/// Lock used for accessing the WebSockets watchlist.
|
||||
/// </summary>
|
||||
private readonly object _webSocketsLock = new object();
|
||||
private readonly Lock _webSocketsLock = new();
|
||||
|
||||
private readonly ISessionManager _sessionManager;
|
||||
private readonly ILogger<SessionWebSocketListener> _logger;
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace Emby.Server.Implementations.SyncPlay
|
||||
/// <remarks>
|
||||
/// This lock has priority on locks made on <see cref="Group"/>.
|
||||
/// </remarks>
|
||||
private readonly object _groupsLock = new object();
|
||||
private readonly Lock _groupsLock = new();
|
||||
|
||||
private bool _disposed = false;
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace Emby.Server.Implementations.Updates
|
||||
/// </summary>
|
||||
/// <value>The application host.</value>
|
||||
private readonly IServerApplicationHost _applicationHost;
|
||||
private readonly object _currentInstallationsLock = new object();
|
||||
private readonly Lock _currentInstallationsLock = new();
|
||||
|
||||
/// <summary>
|
||||
/// The current installations.
|
||||
|
||||
Reference in New Issue
Block a user