淘客熙熙

主题:【求助】:请教信息技术方面的大牛有关多线程的问题 -- 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会不会聪明一点。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河