From 08:00 PM CDT Friday, August 12 - 01:00 PM CDT Saturday, August 13, ni.com will be undergoing system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From 08:00 PM CDT Friday, August 12 - 01:00 PM CDT Saturday, August 13, ni.com will be undergoing system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
|
这个取决于你的应用程序。如果你的应用程序中的任务顺序执行,你不会看到任何改善。比方说,你的程序打开文件,从文件中读取数据,然后关闭文件。多线程并不能使的应用程序跑的更快,因为上述操作不能同时发生。
在单处理器系统中,多个线程仍然共享CPU时间。因此多个很耗CPU的并行线程并不会因为它们线程化了而使计算进行的更快。事实上,他们可能运行的更慢,因为操作系统要花额外的时间进行线程间的切换。
在多处理器系统中,多线程在多数情况下都是利大于弊的,因为它允许多个耗CPU的线程同时运行。但是,在处理器上调度线程是操作系统的工作,它并不能总是保证你的应用程序的不同线程运行在不同的处理器上。
无论是单处理器还是多处理器系统,如果在耗CPU的线程和耗I/O的线程间共享时间总是有利的。当一个线程在读或者写网络(或者是GPIB,硬盘,DAQ设备),别的耗CPU的线程可以继续运行。在单线程系统中,在等待I/O操作完成的过程中,CPU经常处于闲置状态。
|