这是一个理念问题:提高速度spplication - Java的
我不知道在哪里把我的问题,对不起,(如果我的questios是题外话),请告诉我,我需要问这个题。我使用单线程应用程序,我使用一次和只有部分内存,但使用多线程(转换我的单一应用程序到多线程)我可以提高速度(操作系统给我的应用程序更多的时间,如果我有n个线程)?
这个速度是在线程数的功能,
Supose我的OS正在与50个线程(多任务或服务),我的应用程序只能获得(1/50)CPU的一部分,但如果我的应用程序有10个线程,那么我的速度是CPU的(10/60)部分...假设所有线程具有相同的优先级...
显然,这种“改善”不是线性的,这意味着速度会小于(10/60)。
你的概念是什么?
它完全取决于你的代码是否可以通过使用多线程来加速 - 你知道[Amdahl's Law](http://en.wikipedia.org/wiki/Amdahl%27s_law)吗? –
听起来好像你正试图通过创建新线程来“窃取”来自其他进程的CPU时间。 (1)无论如何,大多数情况下,您可能无法以100%CPU运行,(2)操作系统通常会考虑到这种贪婪行为,并降低整个过程的优先级。 – chrylis