• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Test.TestParameters类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Threading.Tasks.Test.TestParameters的典型用法代码示例。如果您正苦于以下问题:C# TestParameters类的具体用法?C# TestParameters怎么用?C# TestParameters使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



TestParameters类属于System.Threading.Tasks.Test命名空间,在下文中一共展示了TestParameters类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: ParallelState7

 public static void ParallelState7()
 {
     string[] actions = new string[] { "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", "MultipleBreak", };
     string[] verifications = new string[] { "BreakVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.For,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = false,
         WithLocalState = true,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs


示例2: ParallelStateTest

        private int _iterCount = 0;  // test own counter for certain scenario, so the test can change behaviour after certain number of loop iteration

        #endregion

        #region Constructor

        public ParallelStateTest(TestParameters parameters)
        {
            _parameters = parameters;

            _mreSlim = new ManualResetEventSlim(false);

            _results = new double[parameters.Count];

            _sequences = new List<int>[1024];
            _sequences64 = new List<long>[1024];
            _threadCount = 0;

            // Set available actions
            _availableActions["Stop"] = StopAction;
            _availableActions["Break"] = BreakAction;
            _availableActions["Exceptional"] = ExceptionalAction;
            _availableActions["MultipleStop"] = MultipleStopAction;
            _availableActions["MultipleBreak"] = MultipleBreakAction;
            _availableActions["MultipleException"] = MultipleExceptionAction;
            _availableActions["SyncWaitStop"] = SyncWaitStop;
            _availableActions["SyncSetStop"] = SyncSetStop;
            _availableActions["SyncWaitBreak"] = SyncWaitBreak;
            _availableActions["SyncSetBreak"] = SyncSetBreak;

            _availableActions["SyncWaitStopCatchExp"] = SyncWaitStopCatchExp;
            _availableActions["SyncWaitBreakCatchExp"] = SyncWaitBreakCatchExp;

            _availableActions["SyncWaitExceptional"] = SyncWaitExceptional;
            _availableActions["SyncSetExceptional"] = SyncSetExceptional;

            // Set available verifications
            _availableVerifications["StopVerification"] = StopVerification;
            _availableVerifications["BreakVerification"] = BreakVerification;
            _availableVerifications["ExceptionalVerification"] = ExceptionalVerification;

            _barrier = new Barrier(parameters.Count);

            // A barrier is used in the workload to ensure that all tasks are running before any proceed.
            // This causes delays if the count is higher than the number of processors, as the thread pool
            // will need to (slowly) inject additional threads to meet the demand.  As a less-than-ideal
            // workaround, we change the thread pool's min thread count to be at least the number required
            // for the test.  Not perfect, but better than nothing.
            ThreadPoolHelpers.EnsureMinThreadsAtLeast(parameters.Count);

            int length = parameters.Count;
            if (length < 0)
                length = 0;

            if (parameters.Api != API.For)
            {
                int[] collArray = new int[length];
                for (int j = 0; j < length; j++)
                    collArray[j] = ((int)_startIndex) + j;

                if (parameters.Api == API.ForeachOnArray)
                    _collection = collArray;
                else if (parameters.Api == API.ForeachOnList)
                    _collection = new List<int>(collArray);
                else
                    _collection = collArray;
            }

            int index = 0;
            for (index = 0; index < parameters.Count; index++)
                _actions.Add(DummyAction);

            index = 0;
            foreach (string action in parameters.Actions)
            {
                Action<long, ParallelLoopState> a = null;
                string[] actionIndexPair = action.Split('_');

                if (!_availableActions.TryGetValue(actionIndexPair[0], out a))
                    throw new ArgumentException(actionIndexPair[0] + " is not a valid action");

                _actions[actionIndexPair.Length > 1 ? int.Parse(actionIndexPair[1]) : index++] = a;
            }

            foreach (string verification in parameters.Verifications)
            {
                Action<ParallelLoopResult?> act = null;

                if (!_availableVerifications.TryGetValue(verification, out act))
                    throw new ArgumentException(verification + " is not a valid verification");

                _verifications.Enqueue(act);
            }
        }
开发者ID:ESgarbi,项目名称:corefx,代码行数:94,代码来源:ParallelStateTest.cs


示例3: ParallelState76

 public static void ParallelState76()
 {
     string[] actions = new string[] { "SyncWaitBreak_0", "SyncSetBreak_1", };
     string[] verifications = new string[] { "BreakVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.ForeachOnList,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = false,
         WithLocalState = true,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs


示例4: ParallelState49

 public static void ParallelState49()
 {
     string[] actions = new string[] { "SyncSetStop_0", "SyncWaitBreakCatchExp_1", };
     string[] verifications = new string[] { "StopVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.ForeachOnArray,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = false,
         WithLocalState = false,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs


示例5: ParallelState36

 public static void ParallelState36()
 {
     string[] actions = new string[] { "Exceptional", };
     string[] verifications = new string[] { "ExceptionalVerification", };
     TestParameters parameters = new TestParameters
     {
         Api = API.ForeachOnArray,
         Count = 10,
         Actions = actions,
         Verifications = verifications,
         ExpectingException = true,
         WithLocalState = true,
         Is64 = false,
     };
     ParallelStateTest test = new ParallelStateTest(parameters);
     test.RealRun();
 }
开发者ID:ESgarbi,项目名称:corefx,代码行数:17,代码来源:ParallelStateTest.cs


示例6: ParallelStateTest

        private int _iterCount = 0;  // test own counter for certain scenario, so the test can change behaviour after certain number of loop iteration

        #endregion

        #region Constructor

        public ParallelStateTest(TestParameters parameters)
        {
            _parameters = parameters;

            _mreSlim = new ManualResetEventSlim(false);

            _results = new double[parameters.Count];

            _sequences = new List<int>[1024];
            _sequences64 = new List<long>[1024];
            _threadCount = 0;

            // Set available actions
            _availableActions["Stop"] = StopAction;
            _availableActions["Break"] = BreakAction;
            _availableActions["Exceptional"] = ExceptionalAction;
            _availableActions["MultipleStop"] = MultipleStopAction;
            _availableActions["MultipleBreak"] = MultipleBreakAction;
            _availableActions["MultipleException"] = MultipleExceptionAction;
            _availableActions["SyncWaitStop"] = SyncWaitStop;
            _availableActions["SyncSetStop"] = SyncSetStop;
            _availableActions["SyncWaitBreak"] = SyncWaitBreak;
            _availableActions["SyncSetBreak"] = SyncSetBreak;

            _availableActions["SyncWaitStopCatchExp"] = SyncWaitStopCatchExp;
            _availableActions["SyncWaitBreakCatchExp"] = SyncWaitBreakCatchExp;

            _availableActions["SyncWaitExceptional"] = SyncWaitExceptional;
            _availableActions["SyncSetExceptional"] = SyncSetExceptional;

            // Set available verifications
            _availableVerifications["StopVerification"] = StopVerification;
            _availableVerifications["BreakVerification"] = BreakVerification;
            _availableVerifications["ExceptionalVerification"] = ExceptionalVerification;

            _barrier = new Barrier(parameters.Count);

            int length = parameters.Count;
            if (length < 0)
                length = 0;

            if (parameters.Api != API.For)
            {
                int[] collArray = new int[length];
                for (int j = 0; j < length; j++)
                    collArray[j] = ((int)_startIndex) + j;

                if (parameters.Api == API.ForeachOnArray)
                    _collection = collArray;
                else if (parameters.Api == API.ForeachOnList)
                    _collection = new List<int>(collArray);
                else
                    _collection = collArray;
            }

            int index = 0;
            for (index = 0; index < parameters.Count; index++)
                _actions.Add(DummyAction);

            index = 0;
            foreach (string action in parameters.Actions)
            {
                Action<long, ParallelLoopState> a = null;
                string[] actionIndexPair = action.Split('_');

                if (!_availableActions.TryGetValue(actionIndexPair[0], out a))
                    throw new ArgumentException(actionIndexPair[0] + " is not a valid action");

                _actions[actionIndexPair.Length > 1 ? int.Parse(actionIndexPair[1]) : index++] = a;
            }

            foreach (string verification in parameters.Verifications)
            {
                Action<ParallelLoopResult?> act = null;

                if (!_availableVerifications.TryGetValue(verification, out act))
                    throw new ArgumentException(verification + " is not a valid verification");

                _verifications.Enqueue(act);
            }
        }
开发者ID:er0dr1guez,项目名称:corefx,代码行数:87,代码来源:ParallelStateTest.cs



注:本文中的System.Threading.Tasks.Test.TestParameters类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# CancelWait.TaskCancelWaitTest类代码示例发布时间:2022-05-26
下一篇:
C# Test.ParallelStateTest类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap