Beispiel #1
0
 /// <summary>
 ///
 /// </summary>
 public void Dispose()
 {
     foreach (var vv in mTargetMemorys)
     {
         while (vv.Value.IsBusy())
         {
             Thread.Sleep(1);
         }
         vv.Value.Dispose();
     }
     mTargetMemorys.Clear();
     mHisTagService = null;
 }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        public override void Dispose()
        {
            while (mIsRunning)
            {
                Thread.Sleep(1);
            }
            mHisTagService = null;
            mTagIds.Clear();
            mTagIds = null;

            Marshal.FreeHGlobal(mCompressedDataPointer);

            //mIsDisposed = true;
            base.Dispose();
        }
Beispiel #3
0
        /// <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");
            }
        }
Beispiel #4
0
 /// <summary>
 ///
 /// </summary>
 public CompressMemory3() : base()
 {
     mHisTagService = ServiceLocator.Locator.Resolve <IHisEngine3>();
 }