作者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)