void main(void) { while(1) { ; } }
编译:gcc 1.c -o 1
运行程序1之前的cpu:
运行一次./1 &,用htop查看cpu:
运行8次./1 &,用htop查看cpu:
运行killall 1,终止所有程序1,用htop查看cpu:
结论:不使用sleep,循环会一直占用cpu
2.使用sleep(0)的循环程序0.c:
void main(void) { while(1) { sleep(0); } }
运行8次./0 &,用htop查看cpu:
结论:sleep(0)的循环仍然会占用cpu。
3.使用sleep(1)的循环程序2.c:
void main(void) { while(1) { sleep(1); } }
运行16次./2 &,用htop查看cpu:
结论:sleep(1)的循环基本不占用cpu。
3.使用sleep(1000)的循环程序3.c:
void main(void) { while(1) { sleep(1000); } }
运行16次./3 &,用htop查看cpu:
结论:sleep(1000)的循环基本不占用cpu。
4.使用usleep(1)的循环程序4.c:
void main(void) { while(1) { usleep(1); } }
运行16次./4 &,用htop查看cpu:
结论:usleep(1)的循环占用cpu不多。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)