首页 > 编程语言 > 详细

27.7 并行语言集成查询(PLinq)

时间:2018-12-30 23:39:30      阅读:186      评论:0      收藏:0      [点我收藏+]

 

        static void Main()
        {
            ObsoleteMethods(Assembly.Load("mscorlib.dll"));
            Console.ReadKey();
        }
        private static void ObsoleteMethods(Assembly assembly)
        {
            var query = from type in assembly.GetExportedTypes().AsParallel()
                        from method in type.GetMethods(BindingFlags.Public | BindingFlags.Static | BindingFlags.Static)
                        let obsoleteAttrType = typeof(ObsoleteAttribute)
                        where Attribute.IsDefined(method, obsoleteAttrType)
                        orderby type.FullName
                        let obsoleteAttrObj = (ObsoleteAttribute)Attribute.GetCustomAttribute(method, obsoleteAttrType)
                        select string.Format("Type={0} \n Mehthod={1} \n Message={2} \n ", type.FullName, method, obsoleteAttrObj.Message);
            foreach (var item in query)
                Console.WriteLine(item);
            //query.ForAll(a => Console.WriteLine(a));    //让多个线程同时调用Console反而损害性能,因为Console在内部进行线程同步
            //query.Distinct().AsOrdered();
            //query.OrderBy(a => a.Length).AsUnordered();
            //query.WithExecutionMode(ParallelExecutionMode.ForceParallelism);
            //query.WithMergeOptions(ParallelMergeOptions.AutoBuffered);
        }

 

27.7 并行语言集成查询(PLinq)

原文:https://www.cnblogs.com/kikyoqiang/p/10201016.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!