public static void RemoveLock(ThreadLock objThreadLock)
 {
     lock (ThreadLock.LOCKOBJECT)
     {
         lockTable.Remove(objThreadLock);
     }
 }
예제 #2
0
        public void SetThreadLock(ThreadLock objLockInfo, ctrlThreadActivity ctrlParent)
        {
            this.objLockInfo = objLockInfo;
            this.ctrlParent = ctrlParent;
            ctrlParent.DisplaySimilarRecordsEvent += new ctrlThreadActivity.DisplaySimilarRecordsByObject(ctrlParent_DisplaySimilarRecordsEvent);
            int totalTime = objLockInfo.nEnd - objLockInfo.nStart;

         

            float oneMSEquals = ctrlThreadActivity.pixel / ctrlThreadActivity.millisecond;

            label1.Width = (int)((objLockInfo.nAcquired - objLockInfo.nStart) * oneMSEquals);
            label2.Width = (int)((objLockInfo.nEnd - objLockInfo.nAcquired) * oneMSEquals);

            label1.Location = new Point(0, 0);
            label2.Location = new Point(label1.Width, 0);
            this.Size = new Size(label2.Location.X + label2.Width, this.Height);

           // toolTip1.InitialDelay = 0;
            
           // toolTip1.IsBalloon = true;
           // toolTip1.SetToolTip(label1, (objLockInfo.nAcquired - objLockInfo.nStart).ToString());
          //  toolTip1.SetToolTip(label2, "Hi");
            

        }
 public static int PutLock(ThreadLock objThreadLock, object objLock)
 {
     lock (ThreadLock.LOCKOBJECT)
     {
         lockTable[objThreadLock] = objLock;
         if (ThreadLock.enableIndividualThreadActivityScaning)
             return id++;
         else return 0;
     }
 }