乐趣区

linux中CPU调度或进程调度是分时

微信公众号:51 码农网
专业编程问答社区
www.51manong.com

现象:一个实现某功能的方法,低的执行时间有 0 的,高的有 90 毫秒的。
原因: 这是线程切换的成本,但是你可能反驳,调用该方法的时候,线程不是已经切换过来了。按理说执行的时间应该是差不多的。看如下:CPU 在 windows 下是抢占式的,所以一个线程抢到 CPU,就能跑跑跑。而 linux 是分时的,一个线程分到多少时间,执行几个指令后就要让渡 CPU 给其他线程或进程。
例如: 线程进入到你的方法,但是你的方法大,指令多。容易被切换。切换的成本就体现在耗时上面了。这也是为啥要求方法体要小一些,指令尽可能小。

微信公众号:51 码农网

退出移动版