多线程的7个参数
1.核心线程数 3
2.最大线程函数 10
3.线程存活时间
4.存活时间单位
5.默认队列(设置队列长度)10
6.线程工厂
7.拒绝策略
最大接收线程 23
理解:核心线程被创建不会销毁,会放到池中,先创建核心线程再队列,再最大线程数,普通线程会被销毁,一般是用不到消息队列的,核心线程就足够处理请求
注意1:线程的运行原理:比如来一个请求的时候,如果此时核心线程有空闲就使用,没有就去排队去竞争
注意2:程序分为cpu密集型和io密集型
cpu密集型:服务器的硬盘和内存性能高于cpu,io在短时间完成,而cpu还有许多运算要处理,所以cpu的负载很高;
io密集型:cpu的性能要高于系统的硬盘和内存,io密集就是程序的io比较多,程序大部分是再进行io操作,也就是对数据库的读写操作,这样的话就导致cpu负载不高,这样情况是程序写的不好,没有充分利用cpu资源,导致线程空余时间很多,所以io密集型设置核心线程数要高一点(数倍)
io核心线程数=cpu核数÷(1-阻塞系数);一般阻塞系数=0.8-0.9
面试记录之-多线程-线程池理解
于 2023-06-07 16:44:20 首次发布