(转)一个托管编程模型,支持数据并行处理,任务并行处理,并通过一个通用的工作调度器统一协调并行运行的硬件。
并行扩展使开发人员能够轻松编写出充分利用硬件并行能力的程序,程序性能可以随着处理器或核的数量增加而提高,并且无需应对目前愈发复杂的并发编程模型。
实验:
VS2008+.NET Framework 3.5
双击ParallelExtensions_Jun08CTP.msi进行安装
项目-添加引用-浏览-C:\Program Files\Microsoft Parallel Extensions Jun08 CTP\System.Threading.dll。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication_TPL
{
 class Program
 {
 static void Main(string[] args)
 {
 Program a = new Program();
 Action[] actions = { a.task1, a.task2, a.task3 };
 Console.WriteLine("Parallel process...");
 Parallel.Invoke(actions);
 Console.WriteLine("Serial process...");
 a.task1();
 a.task2();
 a.task3();
 }
 private void task1()
 {
 Thread.Sleep(1000);
 Console.WriteLine("Task1 Complete @ "+DateTime.Now.Hour.ToString()+":"+DateTime.Now.Minute.ToString()+";"+DateTime.Now.Second.ToString());
 }
 private void task2()
 {
 Thread.Sleep(2000);
 Console.WriteLine("Task2 Complete @ " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ";" + DateTime.Now.Second.ToString());
 }
 private void task3()
 {
 Thread.Sleep(3000);
 Console.WriteLine("Task3 Complete @ " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ";" + DateTime.Now.Second.ToString());
 }
 }
}
运行结果:
posted on 2010-10-13 13:18  Jessica Lu  阅读(184)  评论(0)    收藏  举报