浏览代码

20251121001 实现ThreadManager的单例模式

向羽 孟 3 小时之前
父节点
当前提交
ca0b8956db

+ 5 - 1
MvvmScaffoldFrame48.DLL/ThreadManager/ThreadManager.cs

@@ -19,19 +19,23 @@ namespace MvvmScaffoldFrame48.DLL.ThreadManager
     public class ThreadManager
     {
         #region 变量与实例
+        public static ThreadManager Instance => _instance;
+
         //相机组
         private readonly CameraGroup[] _cameraGroups = new CameraGroup[1];
         // 通信线程
         private readonly CommunicationThread _communicationThread;
         // 相机配置参数
         private List<CameraProcessConfigModel> _cameraConfigurations;
+
+        private static ThreadManager _instance = new ThreadManager();
         #endregion
 
         #region 构造函数
         /// <summary>
         /// 构造函数
         /// </summary>
-        public ThreadManager()
+        private ThreadManager()
         {
             // 加载相机配置
             LoadCameraConfigurations();

+ 1 - 1
MvvmScaffoldFrame48.VIEWMODEL/ViewModel/MainViewModel.cs

@@ -39,7 +39,7 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
         #region 其他方法
         public MainViewModel()
         {
-            ThreadManager MainThreadManager = new ThreadManager();
+            ThreadManager MainThreadManager = ThreadManager.Instance;
             MainThreadManager.StartCameraGroup(0);
             MainThreadManager.StartCommunication();
         }