微信公众号:51码农网
专业编程问答社区
www.51manong.com
现象:一个实现某功能的方法,低的执行时间有0的,高的有90毫秒的。
原因:这是线程切换的成本,但是你可能反驳,调用该方法的时候,线程不是已经切换过来了。按理说执行的时间应该是差不多的。看如下:CPU在windows下是抢占式的,所以一个线程抢到CPU,就能跑跑跑。而linux是分时的,一个线程分到多少时间,执行几个指令后就要让渡CPU给其他线程或进程。
例如:线程进入到你的方法,但是你的方法大,指令多。容易被切换。切换的成本就体现在耗时上面了。这也是为啥要求方法体要小一些,指令尽可能小。
微信公众号:51码农网
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。