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);
            }
        }
  • 相关阅读:
    volatile 能使得一个非原子操作变成原子操作吗?
    什么是线程局部变量?
    使用idea插件进行java代码生成
    mybatis plus+dynamic事务导致多数据源切换失败
    10_docker-compose
    Ubuntu的Python从2.x升级到3.x
    idea查看控制台数据mybatis的sql完整语句
    iframe高度处理
    angular路由
    去掉iPhone、iPad的默认按钮、输入框样式
  • 原文地址:https://www.cnblogs.com/a14907/p/6934312.html
Copyright © 2011-2022 走看看