娱乐网站设计多少行业,电子商务就业岗位,一个网站用两个域名,做外贸网站推广有一些延时函数写法非常占用CPU#xff0c;比如while(gettime()timeSet){}#xff0c;在Linux中应当尽量使用系统调用执行延时#xff0c;在延时等待期间执行一次进程调度#xff0c;降低延时函数的CPU占用率。
Linux中的延时函数有sleep#xff0c;usleep和nanoslee…有一些延时函数写法非常占用CPU比如while(gettime()timeSet){}在Linux中应当尽量使用系统调用执行延时在延时等待期间执行一次进程调度降低延时函数的CPU占用率。
Linux中的延时函数有sleepusleep和nanosleep以及select。
1、sleep
sleep()调用alarm()来设定报警时间调用sigsuspend()将进程挂起在信号SIGALARM上。
2、usleep
usleep()有可能会影响信号用于延迟挂起进程。
3、nanosleep
nanosleep()是Linux系统调用使进程进入TASK_INTERRUPTIBLE脱离就绪队列然后进行一次进程调度再由内核在规定的时间后发送信号来唤醒这个进程调用进程睡眠nanosleep()精度不是很高。
4、select
select的精度是微妙比较精确将相关参数传递给内核。
5、推荐使用的函数
void delayms (unsigned int howLong)
{struct timespec sleeper, dummy ;sleeper.tv_sec (time_t)(howLong / 1000) ;sleeper.tv_nsec (long)(howLong % 1000) * 1000000 ;nanosleep (sleeper, dummy) ;
}