看板 Fortran 關於我們 聯絡資訊
如題,我想知道Fortran中有沒有語法可以讓程式先暫時休息一下, 然後過10秒鐘後自動繼續執行。 我用pause但是必須手動繼續執行,我需要讓CPU先休息幾秒,然後 時間到再自動繼續執行未完成的程式。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.120.3
charlesdc:要先釐清問題,暫停跟休息是2回事,暫停的話,應該用系 03/01 01:58
charlesdc:統內對時間的函式就可以辦到,休息的話我想不到@@ 03/01 01:59
charlesdc:查查看TIME、SECNDS修改一下應該辦的到暫停的功能 03/01 02:06
感謝您的指教,我用secnds加上do while做了測試,不知道是不是這樣, program test implicit none real(4) :: t1,t2 t1=secnds(0.0) t2=0.0 do while(t2<10.0) t2=secnds(t1) enddo write(*,*) 'interval:',t2 end program test 用ifort在Linux 64位元平台下結果的確跑了10秒,但是這10秒中CPU使用率都是100%。 但更奇怪的是用gfortran編譯後,執行瞬間跑完,執行結果是 interval: 8016.64。 ※ 編輯: YCTzeng 來自: 118.170.6.194 (03/01 04:06)
blc:call system("sleep 10") 會不會比較好… 03/01 10:44
blc:讓程式不斷跑迴圈,cpu使用率當然是100%… 03/01 10:45
※ 編輯: YCTzeng 來自: 118.170.122.150 (03/01 21:07)