首页 > 其他 > 详细

计算机基础

时间:2021-05-21 18:17:53      阅读:9      评论:0      收藏:0      [点我收藏+]

1.Sleep函数作用就是:操作系统“在未来的多少毫秒内我不参与CPU竞争”。

Windows: Thread.Sleep(0)的作用,就是“触发操作系统立刻重新进行一次CPU竞争”,进程立刻重新进入就绪队列,windows操作系统重新计算各个线程的优先级,选择优先级最高的线程分配CPU使用权。Windows原理层面,CPU竞争都是线程级。

2.为了等待资源、事件,线程会进入等待队列,获得资源后会进入就绪队列,等待CPU调度。

3.sched_yield()会让出当前线程的CPU占有权,然后把线程放到就绪队列的尾端,然后一个新的线程会占用CPU。

sleep则是等待一定时间后等待CPU的调度,然后去获得CPU资源(这也是usleep()为什么不准的原因)。sleep(0)使线程直接进入到就绪队列队尾

sleep(0)==sched_yield()

区别是sleep耗时多些

4.

 

计算机基础

原文:https://www.cnblogs.com/liuweiweitju/p/14794590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!