据我所知,实际的时间片是可变的,具体取决于OS和处理器等几个因素。
但有没有一种方法可以让线程在它拥有CPU的时候计算分配给它的时间片?
答案 0 :(得分:2)
有趣的问题;但我想:可能不是。
为了从线程内部衡量,线程需要了解两个事件:
从那里开始:即使你找到一种机制告诉线程“你刚刚恢复” - 你怎么能告诉线程何时被暂停?换句话说:你需要两个钩子,以某种方式通知线程不仅“你恢复了”;还有关于“你很快就会被停职”;这样线程本身就可以进行簿记。
鉴于您的评论:是的,如果基础操作系统允许确定CPU切片的持续时间和持续时间常量;然后线程不需要知道“事件2”。