IO密集型、CPU密集型简介

CPU密集型

​ CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。

一般来说 计算型代码、BitMap转换、Gson转换、对视频进行高清解码等

IO密集型

​ IO密集型指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作,大部分的状况是CPU在等I/O (硬盘/内存) 的读/写操作,但CPU的使用率不高

一般来说:文件读写、DB读写、网络请求等

线程池设置

线程数不是越多越好。由于CPU的核心数有限,线程之间切换也需要开销,频繁的切换上下文会使性能降低,适得其反。

简单的总结就是:

Ncpu 表示 核心数。

如果是CPU密集型任务,就需要尽量压榨CPU,参考值可以设为 N*cpu+1

如果是IO密集型任务,参考值可以设置为 2 * Ncpu

posted @ 2023-03-10 13:39  笨笨的二黄子  阅读(127)  评论(0)    收藏  举报