C ++ - 在程序执行期间确保硬盘(驱动器)不空闲

时间:2013-01-15 06:44:44

标签: c++ windows hard-drive python-idle

我有几个问题:

  1. 以下C ++代码是否会在经过一段时间后导致我的硬盘闲置?

    #include <stdio.h>
    
    int main()
    {
        while(1);
    }
    
  2. 如果是这样,我可以添加哪些代码以确保我的硬盘在执行期间不会空闲?

  3. 有没有检查我的硬盘是否处于空闲状态,虽然是C ++代码?

  4. 注意:我使用的是Windows 7

1 个答案:

答案 0 :(得分:4)

  1. 如果启用了空闲,是的,因为它无法访问硬盘驱动器。
  2. 没什么;您的代码甚至可能无法从硬盘驱动器运行。即使您添加代码来读取某些数据,它也可能会被缓存而不会触及磁盘。您可以使用写入后跟刷新执行某些操作,以确保将数据提交到磁盘,但这会在刷新期间阻止您的程序(此方法也不可靠。)
  3. 可能是您可以使用SMART等进行检查,但请记住,您的程序可能没有在硬盘上运行 - 可能在SSD上,可能在网络上,可能来自RAM磁盘。
  4. 一般情况下,您不应在此计划中包含此类假设。如果您需要触摸磁盘而您担心硬盘驱动器可能会关闭并需要很长时间,请让用户禁用硬盘驱动器睡眠。对于服务器应用程序,由于驱动器始终在运行,因此很可能无问题。对于固态硬盘和其他东西来说,无论如何都不是问题,因为这些驱动器不会从空闲状态“旋转”。