在线程中调用time.sleep时处理器内部会发生什么?

问题描述 投票:0回答:1

我们为什么在多线程程序中使用time.sleep以及执行此指令时CPU中会发生什么

multithreading concurrency language-agnostic
1个回答
0
投票

time.sleep是python(或其他应用程序语言)构造,而不是CPU指令。通常,类似睡眠的系统调用用于告知调度程序您不希望在提供的纪元到来之前(周期已过去或绝对时间已过去)执行。调度程序将通过使调用线程不适合执行直到该时期来进行出价。同时,如果无事可做,它可能会运行其他线程或使自己空闲。

时期到达时,通常通过中断来传递,这使线程有资格再次运行。如果认为合适,则线程可以立即开始执行;否则,线程将立即开始执行。否则它将不得不等待其转机。

© www.soinside.com 2019 - 2024. All rights reserved.