作者YCTzeng (Desperate Alex)
看板Fortran
標題[問題] 有沒有語法讓程式暫停10秒鐘?
時間Sun Mar 1 01:11:34 2009
如題,我想知道Fortran中有沒有語法可以讓程式先暫時休息一下,
然後過10秒鐘後自動繼續執行。
我用pause但是必須手動繼續執行,我需要讓CPU先休息幾秒,然後
時間到再自動繼續執行未完成的程式。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.120.3
1F:推 charlesdc:要先釐清問題,暫停跟休息是2回事,暫停的話,應該用系 03/01 01:58
2F:→ charlesdc:統內對時間的函式就可以辦到,休息的話我想不到@@ 03/01 01:59
3F:推 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)
4F:→ blc:call system("sleep 10") 會不會比較好… 03/01 10:44
5F:→ blc:讓程式不斷跑迴圈,cpu使用率當然是100%… 03/01 10:45
※ 編輯: YCTzeng 來自: 118.170.122.150 (03/01 21:07)