Sleep()

时间片是分时操作系统分配给每个正在运行的进程微观上的一段CPU时间。时间片由操作系统内核的调度程序分配给每个进程。首先,内核会给每个进程分配相等的初始时间片,然后每个进程轮番地执行相应的时间,当所有进程都处于时间片耗尽的状态时,内核会重新为每个进程计算并分配时间片,如此往复。
由于一台计算机通常只有一个CPU,所以不可能真正地同时运行多个任务。这些进程“看起来像”同时运行,实则是轮番运行,由于时间片通常很短(在Linux上为5ms-800ms),用户不会感觉到。

Sleep()需要依赖内核的时间片,如果休眠时间在1~2时间片之间,那么最终等待的时间会是1个或者2个时间片,也就是Sleep()会有0-15.625(1个时间片)的误差

http://www.sohu.com/a/155676858_714863

猜你喜欢

转载自www.cnblogs.com/elong1995/p/10972829.html