当前位置:  技术问答>java相关

P2 350的cpu,最大限度支持多少线程?

    来源: 互联网  发布时间:2014-12-26

    本文导语:  写了一段程序,用于网络通信,我想知道我的机器在不影响效率的情况下 最多支持多少线程,如果线程数是20,是否以为效率提高将近20倍? | 我觉得在本地机和带宽负载允许的情况下,使用多线程...

写了一段程序,用于网络通信,我想知道我的机器在不影响效率的情况下
最多支持多少线程,如果线程数是20,是否以为效率提高将近20倍?

|
我觉得在本地机和带宽负载允许的情况下,使用多线程确实能够成倍地提高效率,只是一个度的问题。

|
"如果线程数是20,是否以为效率提高将近20倍?"
非也非也。因为你只有一个CPU,所以某一时刻只有一个线程在工作。使用多线程的意思主要在于充分利用资源。比如说线程A在从硬盘读取数据,那么线程B就可以在这个时候利用CPU进行某些运算。如此而已。效率达不到20倍。

|
带宽是固定的,如果带宽为10M,一个线程可以按此速度send/receive,那么用更多的线程来send/receive,带宽也不会增加。我认为server才需要多线程,以使server在处理请求时还可以向其他客户发数据。假设server处理每个request的优先级相同,client使用多线程只是增加了本机处理的机会,从整个网络的角度来考虑应该没有提高,而只是有点浪费。如果每个client都用很多thread,那server要同时保持那么多的连接,反而浪费了server的资源。我用netants下载pchome上的东西,使用一个连接和使用多个连接下载的总速度没有明显的区别,也许他限制了每个client使用的资源,而不是同等对待每个请求。

|
客户端多线程确可提高带宽利用率。NC浏览器是开4个,再多了也几乎不会有提高了。网络蚂蚁的默认值是6个。而线程太多(如几十)不仅提高不了带宽利用率,反因线程切换占了他多时间,会降低CPU的效率。你可在程序中由用户指定线程数。然后一一试验速度。建议4~6个。

|
我的看法是这样的:关于多线程提高带宽的利用率,我觉得原因可能是这样的。它所提高的并不是单纯的网络带宽的利用率,而是针对服务器而言。假如一个服务器最多可以实现10个线程(或进程),那么如果你用5个线程与它建立连接,你就占用了服务器时间片的1/2,这样,这个服务器程序有一半的时间为你服务,另一半的时间为其他的连接服务。对于Client to Server来说,多线程应该是抢占Server服务资源的好办法,但是对于Client to Client来说就没有什么太大意义了。
其实基本思想跟masterz的意思是一样的,只是阐述的角度不同。请指教。 ;)

关于线程多少问题,线程的多少只受内存大小的影响。至于性能嘛,就不知道了。有经验的高手请多多指教。

|
my cpu c500 memory 128M

I test my computer can run 5000-7000 threads.
but it run very slow.

    
 
 

您可能感兴趣的文章:

  • java线程中如何降低CPU的占用率?我这几个线程会不会死锁?
  • 在多核CPU下,同一进程下的多个线程可以并行运行吗?
  • 一个进程分离出多个线程后cpu时间分配问题
  • linux多线程程序cpu占用率问题
  • HP-UX进程调度和线程调度,哪个消耗CPU?
  • 等待大侠出手相救,在多线程程序中执行system函数导致CPU利用率不停的增长的问题。
  • 在多cpu的linux系统上,到底是用多线程应用好些还是多进程应用好些??
  • linux平台usleep(time);函数是否是原子操作不能被CPU线程切换打断?
  • 在双cpu机器上,RH,是用线程效率高,还是进程效率高?
  • java多线程,linux操作系统,双cpu服务器,问问稍微高级点的问题
  • linux下调用sleep或者usleep函数的CPU线程调度情况?
  • Linux中,物理CPU的分配是基于线程还是进程?
  • 如何查找CPU占用率较高的线程是哪一个?
  • 多线程vs多进程,谁在Linux能更好发挥多核CPU的能力
  • Linux中使用Shell脚本查看Java线程的CPU使用情况
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 帮我找个支持多CPU的主板,给20分,决不食言:)
  • fedora可以支持几个cpu?
  • 下载的WebLogic6.1支持双CPU系统吗?
  • linux查看cpu是否支持64位的方法
  • LINUX7.2支持AMD的CPU吗?
  • (Red Hat)Linux对AMD的CPU支持好不好?
  • 请问如何编译Linux7.2下支持双CPU(smp)的新内核?
  • 64位CPU运行64位Vista装64位Virtual PC 2007 SP1安装64位Debian 5.0失败,提示CPU不支持。希望大家能够提供帮助!
  • 散份喽~~。可用分都过万了。有个兄弟问UNIX支持多少CUP。两年前IBM的RS/6000SP是2048个CPU的阵列。记得哪个挑战棋王的深蓝吗?只是他的一
  • 多核CPU或多CPU的单个CPU使用率如何取得?
  • 请问AIX下用什么命令能够获取CPU型号、频率信息,多CPU情况下
  • 用哪些函数可以得到执行一个程序的系统CPU时间,用户CPU时间,时钟时间啊?
  • Clock time, User cpu time, System cpu time三者是什么关系?
  • 请教:linux下有统计CPU的个数和CPU利用率的函数吗???(急!!!)
  • 在LINUX下怎么查看CPU有多少个及CPU是多少G
  • 90分征求简单问题,weblogic的购买是按照cpu来得吗?每个cpu多少钱?可以放到任何服务器上吗?
  • 用户CPU时间 系统CPU时间 时钟时间 不懂
  • 如何在SMP系统下,锁住其他CPU,只让一颗CPU工作?
  • le16_to_cpu(v),cpu_to_le(16)是什么意思?
  • 如何用C程序获取系统的CPU的数目,以及各个CPU的ID
  • IBM P650 /AIX 5L 是32位CPU还是64位CPU?
  • 虚拟机中安装ubuntu8.0.4的时候总是出现“this kernal requires an x86-64 cpu but only detected an i1586 cpu“.....急啊
  • 坛子太冷清,我提个问题,多CPU的系统,到底是谁就处理了这多CPU?
  • User CPU , System CPU, Clock time什么区别?
  • 求意见如何在linux的应用软件中实现一个cpu调度框架,使得多个cpu调度算法可以在同一个系统中实现无缝整合?(分数不够还能再加)
  • 如何控制一个进程的CPU的使用率?
  • 我这个cpu的主频是多少阿?
  • cpu问题
  • top命令,查看CPU占用率问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3