主题:【求助】:请教信息技术方面的大牛有关多线程的问题 -- newtime
共:💬51 🌺45 新:
如果你想用多线程来提高效率,那么就是提高CPU Utilization。如果你有两种task,一种是CPU Intensive,一种是IO intensive,那么用multithreading就可以极大地提高效率,因为在IO Intensive的task等待的时候,系统就可以执行CPU Intensive的task。
你现在两个thread都是CPU Intensive的,如果用单核处理器就没有必要用多线程,因为thread之间context switch的开销完全没有必要了。
如果用多核处理器,很可能操作系统是不是把这两个thread分配到一个CPU上去了(你的操作系统应该不仅仅有这两个thread在运行)。这东西你没法精确控制,只能托付给底层操作系统。当然,这验证了Vista果然弱智。
试试看用Java重写你的程序,看看JVM会不会聪明一点。
- 相关回复 上下关系8
🙂极大可能是共享变量访问的问题 1 类反词典 字497 2009-08-15 19:42:58
🙂多线程是否提高效率,取决于你的应用
🙂多线程的问题 1 spin 字197 2009-08-15 02:55:10
🙂回 newtime 字15 2009-08-16 19:16:42
🙂目前并行计算一般采用MPI而不是openMP 1 autoeagle 字65 2009-08-14 04:35:58
🙂谢谢! newtime 字110 2009-08-14 05:16:10