python中当执行一个死循环的时候,操作系统会把一个cpu核心的100%时间分配给该任务。 那操作系统为何不是将单核心的50%时间分配给它呢?
平时使用电脑时,有的任务是是占用少量cpu的,例如使用10%的cpu工作20秒。 系统为何不分配20%的cpu使它能10秒做完呢。
def loop(): x = 0 while True: x = x ^ 1 time.sleep(0.0000000000000001)
我尝试在循环里加入等待时间,但无论时间多小,它cpu占用都是0。我的理解是,sleep的时间和执行x=x^1的时间一个级别时,cpu占用就会是50%啊。
Sign in to make a reply
林er爱喝果汁Q
python中当执行一个死循环的时候,操作系统会把一个cpu核心的100%时间分配给该任务。 那操作系统为何不是将单核心的50%时间分配给它呢?
平时使用电脑时,有的任务是是占用少量cpu的,例如使用10%的cpu工作20秒。 系统为何不分配20%的cpu使它能10秒做完呢。
我尝试在循环里加入等待时间,但无论时间多小,它cpu占用都是0。我的理解是,sleep的时间和执行x=x^1的时间一个级别时,cpu占用就会是50%啊。