コード例 #1
0
 /// <summary>
 /// 定时器触发
 /// </summary>
 protected internal override void OnTimer()
 {
     if (!client.Check())
     {
         KeepMode = AutoCSer.Threading.SecondTimerKeepMode.Canceled;
     }
 }
コード例 #2
0
        internal void OnTimer()
        {
            ++currentSeconds;
            ClientSocketBase head = Head;

            if (head != null && head.CheckTimeoutSeconds <= currentSeconds && Interlocked.CompareExchange(ref isTimer, 1, 0) == 0)
            {
                do
                {
                    if ((head = pop(currentSeconds)) == null)
                    {
                        System.Threading.Interlocked.Exchange(ref isTimer, 0);
                        return;
                    }
                    head.Check();
                }while (true);
            }
        }