如果是CPU负载的应用,创建和逻辑CPU个数相当的计算线程最能发挥计算机的效能。

解决方案 »

  1.   


    我现在用的是服务器,一共16核,也就是说我最好只启动十六个线程么?可以这么理解,因为一个cpu理论上当前只能做一件事,当有多个任务(线程)在一个cpu里跑时,是cpu不停的调度时钟,根据线程的优先级来满足多个任务同时进行,让你感觉起来是并行运算的,其实还是和单线程的效率相同,此时你还要处理数据同步的问题。
    所以如果线程过多的话,效率只会降低不会有提高。而你16核的cpu如果考虑算法的时间复杂度相同的情况,那么最佳线程数肯定是16,具体线程数多少为最佳,要根据你自己调度和计算得出了