Y ynduanlian Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-15 #1 比如说,单线程执行一段代码完成一个任务要3小时,执行时通过任务管理器发现CPU使用率接近100%,那么现在如果修改程序,用3个线程来同时执行任务的各3分之一,再合成,是否可以将任务的完成时间略有缩短?或是反而增加了任务的总完成时间(超过3小时)?
比如说,单线程执行一段代码完成一个任务要3小时,执行时通过任务管理器发现CPU使用率接近100%,那么现在如果修改程序,用3个线程来同时执行任务的各3分之一,再合成,是否可以将任务的完成时间略有缩短?或是反而增加了任务的总完成时间(超过3小时)?
X xeen Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-15 #2 看你进程的cpu占用率,如果接近100%,那么多线程并不能提高 执行的速度,可能大致相同或略有增加。
L liyinwei Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-15 #4 单线程下 CPU 的使用率已经接近 100%,可以预计多线程下很可能只能缩短一点时间。 能缩短多少就要看你的程序的要执行任务的类型,如果程序要频繁的执行 I/O 操作, 那可望缩短比较多的时间。