问题上这样,我有一个C#的WinApp, 处理读取客户端上传的数据文件。有30个数据文件,现在处理一圈的周期时间比较长,需要8分钟。我看该程序只占用了23—25%的CPU时间,也就是4个CPU中的一个,是不是有什么设置可以让他使用全部的服务器资源。

解决方案 »

  1.   

    用多线程吧,怎么用CPU是操作系统的事,你不用考虑
      

  2.   

    是用多线程了,但是我看CPU就没有超过25%的时候
      

  3.   

    如果不是CPU密集型的操作,一个CPU也占不满
      

  4.   

    多线程的时候..cpu会协同工作.. 但是要注意 某个变量锁定过程
      

  5.   

    楼主:再问一下
    问题:我的C#程序中启动一个单独线程,循环处理数据, 每个循环中又处理35个矿的数据, 处理周期有点长, 服务器性能挺好的4G内存, 才用了一点, 4个Intel Xeon 2.83G, 但是程序的使用CPU总不会超过25%, 我想加快循环处理速度.
    是不是要把35个矿的数据分别起一个线程处理,就是启动35个线程,这样就能充分利用CPU了?
      

  6.   

    怎么使用cpu应该是os的事 , It's not your business
      

  7.   

    是不是要把35个矿的数据分别起一个线程处理,就是启动35个线程,这样就能充分利用CPU了?
    就可以了
    但是这样做,线程调度开销非常大
    可以用线程池
    PS:的确,.net离底层比较远,怎么使用CPU应该是.net Framework和Windows的事
      

  8.   

    理论上说,开多线程是能更充分的利用多CPU的。
      

  9.   

    换C++ Compiler,写C++类库,电脑这东西,就没有用不完的资源C#隔着几层呢,处处卡油顺便问一下,什么操作系统,操作系统也可以配置程序使用CPU的数目和资源.你可以搜索一下这方面的资料先