zoukankan      html  css  js  c++  java
  • 异步方法同步执行的帮助类

    public static class AsyncHelper
        {
            private static readonly TaskFactory _myTaskFactory = new TaskFactory(CancellationToken.None,
                TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default);
            /// <summary>
            /// 同步执行
            /// </summary>
            /// <typeparam name="TResult"></typeparam>
            /// <param name="func"></param>
            /// <returns></returns>
            public static TResult RunSync<TResult>(Func<Task<TResult>> func)
            {
                return _myTaskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult();
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="func"></param>
            public static void RunSync(Func<Task> func)
            {
                _myTaskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult();
            }
            /// <summary>
            /// 
            /// </summary>
            /// <param name="func"></param>
            public static void Run(Func<Task> func)
            {
                _myTaskFactory.StartNew(func);
            }
            /// <summary>
            /// 
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="func"></param>
            public static void Run<T>(Func<Task<T>> func)
            {
                _myTaskFactory.StartNew(func);
            }
        }
  • 相关阅读:
    JavaScript作用域学习笔记
    Object.prototype.toString.call() 区分对象类型
    oracle 经典SQL整理
    day31
    ID3决策树
    C# 中浅拷贝与深拷贝区别
    C#值类型和引用类型的区别
    C#守护进程(windows服务)
    C#线程池
    C#双缓冲绘图
  • 原文地址:https://www.cnblogs.com/a14907/p/6934312.html
Copyright © 2011-2022 走看看