zoukankan      html  css  js  c++  java
  • c# 线程异步处理

        public class AsyncHelper
        {
            private static readonly TaskFactory _myTaskFactory = new TaskFactory(CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default);
    
            public static void RunSync(Func<Task> func, bool await = false)
            {
                CultureInfo cultureUi = CultureInfo.CurrentUICulture;
                CultureInfo culture = CultureInfo.CurrentCulture;
                _myTaskFactory.StartNew(delegate
                {
                    Thread.CurrentThread.CurrentCulture = culture;
                    Thread.CurrentThread.CurrentUICulture = cultureUi;
                    return func();
                }).Unwrap().ConfigureAwait(await).GetAwaiter().GetResult();
            }
    
            public static TResult RunSync<TResult>(Func<Task<TResult>> func, bool await = false)
            {
                CultureInfo cultureUi = CultureInfo.CurrentUICulture;
                CultureInfo culture = CultureInfo.CurrentCulture;
                return _myTaskFactory.StartNew<Task<TResult>>(delegate
                {
                    Thread.CurrentThread.CurrentCulture = culture;
                    Thread.CurrentThread.CurrentUICulture = cultureUi;
                    return func();
                }).Unwrap<TResult>().ConfigureAwait(await).GetAwaiter().GetResult();
            }
        }
    

      

    应用

                        if (AsyncHelper.RunSync(() => _Service.Send(req), false))//_Service.Send(req) return bool
                        {
                            
                        }
    

      

  • 相关阅读:
    ELASTIC 动态修改配置API
    ELASTIC API
    ELASTIC索引监控脚本
    java并发多线程纪要
    Git 基础
    Linux 权限规划ACL
    Linux账号管理(二)
    Linux账号管理(一)
    Linux 备份工具dump
    Linux 文件压缩、打包
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/11176794.html
Copyright © 2011-2022 走看看