Sun Studio 12:Fortran 库参考

1.4.3 alarm:在指定的时间后调用子例程

该函数的调用方式如下所示:

INTEGER*4 alarm

n = alarm ( time, sbrtn )

time

INTEGER*4

输入 

等待的秒数(0=不调用) 

sbrtn

例程名称 

输入 

要执行的子程序必须列在外部语句中 

返回值 

INTEGER*4

输出 

最后一次报警的剩余时间 

示例:alarm-等待 9 秒后调用 sbrtn


       integer*4 alarm, time / 1 /
       common / alarmcom / i
       external sbrtn
       i = 9
       write(*,*) i
       nseconds =  alarm ( time, sbrtn )
       do n = 1,100000         ! Wait until alarm activates sbrtn.
        r = n              ! (any calculations that take enough time)
        x=sqrt(r)
       end do
       write(*,*) i
       end
       subroutine sbrtn
       common / alarmcom / i
       i = 3                     ! Do no I/O in this routine.
       return
       end

另请参见:alarm(3C)、sleep(3F) 和 signal(3F)。注意以下限制条件: