checgg
V2EX  ›  问与答

sleep 函数会使线程(进程)交出 CPU 资源吗?

  •  
  •   checgg · Feb 24, 2018 · 4992 views
    This topic created in 3182 days ago, the information mentioned may be changed or developed.
    6 replies  •  2018-02-25 09:46:12 +08:00
    vegito2002
    vegito2002
    Feb 24, 2018
    1
    合理设计的 sleep 是会的
    wevsty
    wevsty
    Feb 24, 2018❤️3
    2
    不确定你具体指的是哪个 sleep 函数,所以只能回答你这取决于函数本身和平台的实现。
    以 C 的视角来看。
    Windows 下面你调用 Sleep 这个 API,那么是会交出 CPU 资源的。
    Linux 下面你调用 unistd.h 中的 sleep 函数也是会的。

    但是如果是一门带有协程功能的语言,调用协程库中的 sleep 函数,那么可能线程或者进程并不会交出 CPU 资源,而是转而去处理协程中的其他任务了。
    IvanLi127
    IvanLi127
    Feb 25, 2018 via Android
    3
    按你的问法我觉得你说的 sleep 会让出 cpu 时间
    iceheart
    iceheart
    Feb 25, 2018 via Android
    4
    会
    snnn
    snnn
    Feb 25, 2018 via Android
    5
    必须的
    noe132
    noe132
    Feb 25, 2018 via Android
    6
    举个例子,某些单片机的 sleep 就是根据晶振频率来空循环一定次数实现的,这种肯定就不会也没法在 sleep 时干别的事
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   993 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 22:14 · PVG 06:14 · LAX 14:14 · JFK 17:14
    ♥ Do have faith in what you're doing.