コード例 #1
0
 /// <summary>
 /// 获取数据
 /// </summary>
 /// <param name="connection"></param>
 internal override void RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         value = queue.get(ref connection, key, dictionaryKey);
     }
     finally
     {
         wait.Set();
     }
 }
コード例 #2
0
 /// <summary>
 /// 获取数据
 /// </summary>
 /// <param name="connection"></param>
 internal override Threading.LinkQueueTaskNode RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         value = queue.get(ref connection, key, dictionaryKey);
     }
     finally
     {
         wait.Set();
     }
     return(LinkNext);
 }
コード例 #3
0
 /// <summary>
 /// 获取缓存数据
 /// </summary>
 /// <param name="connection"></param>
 internal override void RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         Value = queue.get(ref connection, key, dictionaryKey);
     }
     finally
     {
         if (Value == null)
         {
             Value = nullValue;
         }
         if (System.Threading.Interlocked.CompareExchange(ref continuation, Pub.EmptyAction, null) != null)
         {
             new Task(continuation).Start();
         }
     }
 }
コード例 #4
0
ファイル: QueueDictionary.cs プロジェクト: AutoCSer/AutoCSer
 /// <summary>
 /// 获取缓存数据
 /// </summary>
 /// <param name="connection"></param>
 internal override void RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         Value = queue.get(ref connection, key, dictionaryKey);
         if (Value == null)
         {
             Value = nullValue;
         }
         IsCompleted = true;
     }
     finally
     {
         if (Value == null)
         {
             Value = nullValue;
         }
         if (continuation != null || System.Threading.Interlocked.CompareExchange(ref continuation, Common.EmptyAction, null) != null)
         {
             continuation();
         }
     }
 }