zoukankan      html  css  js  c++  java
  • 异步延时启动

    这段代码有点绕,很搞。

    class Program
        {
            public static Task<DateTimeOffset> Delay(int millisecondsTimeout)
            {
                TaskCompletionSource<DateTimeOffset> tcs = null;
                Timer timer = null;
    
                timer = new Timer(delegate
                {
                    timer.Dispose();
                    //这里插入操作
                    tcs.TrySetResult(DateTimeOffset.UtcNow);
                }, null, Timeout.Infinite, Timeout.Infinite);
    
                tcs = new TaskCompletionSource<DateTimeOffset>(timer);
                Console.WriteLine("时间开始:" + DateTimeOffset.UtcNow);
                timer.Change(millisecondsTimeout, Timeout.Infinite);
                return tcs.Task;
            }
    
    
            static void Main(string[] args)
            {
               Task<DateTimeOffset > task =  Program.Delay(10000);
               Console.WriteLine("时间终止:"+ task.Result);
                Console.Read();
            }
        }

  • 相关阅读:
    JavaEE思维导图
    JAVA EE期末项目-企业论坛
    RPC
    SQL、HQL、JPQL、CQL的对比
    eqauls和hashCode的对比
    关于JSON
    JavaServer Faces标准请求/响应周期
    Applets
    Ajax
    Async分析
  • 原文地址:https://www.cnblogs.com/grkin/p/3014220.html
Copyright © 2011-2022 走看看