进程与线程
程序
一个可执行文件 如:qq.exe
进程
是程序的一次执行过程
是系统运行程序资源分配的的基本单位
线程
线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程
线程是资源调度执行的基本单位
单核CPU设定多线程是否有意义:
有,不是所有时间内cpu都在工作,线程需要被管理
工作线程数是不是设置的越大越好:
并不是
工作线程数(线程池中线程数量)设多少合适:
用多少线程才能对cpu压榨到极致
理论上根据cpu的核数 压榨cpu性能
实际上:cpu同时也被其他线程占用,出于安全考虑还要留一部分核数
通用公式:
N=N(cpu)*u(cpu)*(1+w/c)
N(cpu):cpu核数
U(cpu):期望cpu利用率
w/c:等待时间与计算时间比率