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