在.NET 4中推出并行编程,不得其解:1.Task和Thread有什么区别?
或者在cpu分配上Task是不是所说的会将任务分在多个处理器上(或者多个电脑上),而Thread只是在一个cpu上。
2. .NET 4中并行编程是指什么将任务分配给多个cpu吗?如何实现?劳烦大师们详解!!!
解决方案 »
- winform程序打包问题
- winform实现股票软件
- 如何限制重複彈出窗口
- 急!!!!!如何去掉小数点后面的0???
- 请教安装部署项目时的问题 请大家帮忙!着急!
- 如何在ActiveX控件中实现安全接口?
- 在SQL存储过程中,实现遍历所有子节点……
- 急!我用C#建一个项目 ASP。NET WEB服务,总是提示我 WEB访问失败,IIS配置的也没问题,怎么才行?
- 希望大家关注技术问题,不要为一些无聊的事情讨论。
- wpf 关于自定义关闭按钮的问题?求原因求解答
- WPF里可不可以创建线程和使用互斥锁?
- 大虾帮帮忙,有些特殊符号如"[^%_"本身无法用recordset的like来作模糊查询,怎么办?
或者在cpu分配上Task是不是所说的会将任务分在多个处理器上(或者多个电脑上),而Thread只是在一个cpu上。错,Task是对Thread的封装,在SMP系统上,Thread就可以运行在多个CPU上。Task封装了Thread的细节,比如创建thread,调用、中止等等。2. .NET 4中并行编程是指什么将任务分配给多个cpu吗?如何实现?Task自己就可以调度,只要为Task指定委托即可。
目前的机器基本都是多核的。如何使应用程序指定多个cpu工作? 而不是由系统来指定分配?如某个应用程序有两个进程,一个核跑一个进程。
但CPU不是你想控制就能控制的。程序实现多线程CPU就能够自己调度提高效率。并不是“并行”总比“串行”快的,到底怎样才能获得最大的效率,
这又是设计的范畴,可能需要在多个典型的软硬件环境中进行对比测试,
最终才能得到理想的方案。比如:当要处理的数据量很大,或者要执行的数据处理任务繁重,
并且这些任务本身就可以分解为互不相关的子任务时,使用并行计算是合适的。PS:线程和进程的概念lz貌似有点混哦。