研发埠

标题: C#的多线程能否实现并行计算(在一台计算机上)?? [打印本页]

作者: 孙越    时间: 2014-5-31 13:03
标题: C#的多线程能否实现并行计算(在一台计算机上)??
比如一个单线程程序要100秒运行完,采用两线程就只需要大约一般的时间??恳请大侠指教。。。
作者: 欧来良    时间: 2014-6-1 14:21
可以,前提是这个单线程程序不是原子性的,也就是说各个步骤可以是独立的,而且可以并行,不分先后顺序的。例如一个方法中要调用10个其它方法,你可以循环开启10个线程分别执行这10个委托任务,如果是语句,你可以把语句块包装成私有方法以供委托调用,然后在主线程中使用WaitAll来等待,看执行这些线程要多少时间。
作者: 肖玲    时间: 2014-6-1 14:39
不知道,也许更长吧,还是要看程序...如果不竞争资源,那么理论上是一般,如果发生竞争资源的情况,或许更长
作者: 颜文斌    时间: 2014-6-1 20:08
这个没那么简单,,并行计算不光和处理器有关系,,还和不同处理器之间信息传递的速度有关系,如果信息传递的速度慢于处理器处理的速度,那么就会出现时间大于原来时间的一半。。楼主可以去参考一下其他资料呢




欢迎光临 研发埠 (http://bbs.yanfabu.com/) Powered by Discuz! X3.2