/// <summary> /// /// </summary> public void Dispose() { foreach (var vv in mTargetMemorys) { while (vv.Value.IsBusy()) { Thread.Sleep(1); } vv.Value.Dispose(); } mTargetMemorys.Clear(); mHisTagService = null; }
/// <summary> /// /// </summary> public override void Dispose() { while (mIsRunning) { Thread.Sleep(1); } mHisTagService = null; mTagIds.Clear(); mTagIds = null; Marshal.FreeHGlobal(mCompressedDataPointer); //mIsDisposed = true; base.Dispose(); }
/// <summary> /// /// </summary> public void Init() { CompressUnitManager2.Manager.Init(); mHisTagService = ServiceLocator.Locator.Resolve <IHisEngine3>(); CompressMemory3.TagCountPerMemory = TagCountOneFile; foreach (var vm in mTargetMemorys) { vm.Value.Dispose(); } mTargetMemorys.Clear(); var histag = mHisTagService.ListAllTags(); //计算数据区域个数 mLastDataRegionId = -1; foreach (var vv in histag) { var id = vv.Id; var did = id / TagCountOneFile; if (mLastDataRegionId != did) { mTargetMemorys.Add(did, new CompressMemory3() { Id = did, Name = "CompressTarget" + did }); mLastDataRegionId = did; } } foreach (var vv in mTargetMemorys) { vv.Value.Init(ServiceLocator.Locator.Resolve <IHisEngine3>().CurrentMergeMemory); LoggerService.Service.Info("CompressEnginer", "分配内存大小:" + (vv.Value.Length / 1024.0 / 1024).ToString("f1") + " M"); } }
/// <summary> /// /// </summary> public CompressMemory3() : base() { mHisTagService = ServiceLocator.Locator.Resolve <IHisEngine3>(); }