簡體   English   中英

C ++-確保硬盤(驅動器)在程序執行期間不空閑

[英]C++ - Ensuring Hard Disk (Drive) Is Not Idle During Program Execution

我有幾個問題:

  1. 經過一定時間后,以下C ++代碼是否會使我的硬盤空閑?

     #include <stdio.h> int main() { while(1); } 
  2. 如果是這樣,我可以在此代碼中添加什么以確保我的硬盤在執行期間不會空閑?

  3. 無論如何,是否可以通過C ++代碼檢查我的硬盤是否處於空閑狀態?

注意:我正在使用Windows 7

  1. 如果啟用了空閑,則可以,因為它不會訪問硬盤驅動器。
  2. 沒有; 您的代碼甚至可能無法從硬盤運行。 即使添加代碼以讀取某些數據,它也可能會被緩存並且不會接觸磁盤。 您可能可以在寫入后執行刷新操作,以確保將數據提交到磁盤,但這會在刷新期間阻塞程序(而且此方法也不可靠)。
  3. 可能是您可以使用SMART進行檢查,但請記住,您的程序可能沒有在硬盤上運行-可能在SSD上,可能在網絡上,也可能在RAM磁盤上。

通常,您不應在程序中包含這樣的假設。 如果需要觸摸磁盤,並且擔心硬盤驅動器可能會關閉並且需要很長時間,請要求用戶禁用硬盤驅動器睡眠。 對於服務器應用程序,由於驅動器始終處於運行狀態,因此這很可能不是問題。 對於SSD和其他東西來說,這絕對不是問題,因為這些驅動器不會從空閑狀態“加速”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM