单线程执行一段代码完成一需较长时间的任务时,CPU占用已近100%,那么采用多线程技术分别同时执行任务之一部分会加快还是减慢最终任务的完成呢?(20分)

  • 主题发起人 主题发起人 ynduanlian
  • 开始时间 开始时间
Y

ynduanlian

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