Delphi 2010:如果无法分配内存来创建每个线程中的计算对象,则运行多线程的优势

lme*_*yew 2 delphi multithreading

我以前的问题

从上面的答案来看,意味着如果在我的线程中有创建对象,我将面临内存分配/释放瓶颈,从而导致运行线程可能较慢或没有明显的时间采取差异.比没有线程.如果我不能分配内存来为我的线程中的计算创建对象,那么在应用程序中运行多线程有什么好处?

Joo*_*kka 9

如果我不能分配内存来为我的线程中的计算创建对象,那么在应用程序中运行多线程有什么好处?

这取决于你的瓶颈所在.如果你的瓶颈是可用内存量,那么创建更多线程将无济于事.或者,如果I/O是一个瓶颈,尝试并行化只会因为上下文切换而略微减慢速度.这就像试图通过在其中加入更宽的轮胎来更快地制造动力不足的汽车:修复错误的东西并没有帮助.

当瓶颈是处理器并且有多个处理器可用时,线程很有用.

  • +1"修复错误的东西无济于事". (2认同)