Sun Studio 12: Fortran ライブラリ・リファレンス

1.4.3 alarm: 指定時間後のサブルーチンの呼び出し

関数は、次のように呼び出します。

INTEGER*4 alarm

n = alarm ( time, sbrtn )

time

INTEGER*4

入力 

待ち時間の秒数 (0 の場合は呼び出さない) 

sbrtn

ルーチン名 

入力 

実行する副プログラムは EXTERNAL 文で宣言しなければならない 

戻り値 

INTEGER*4

出力 

前回呼び出した alarm の残り時間 

例: 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         ! alarm が sbrtn をアクティブにするまで待機
        r = n              ! (時間がかかる計算)
        x=sqrt(r)
       end do
       write(*,*) i
       end
       subroutine sbrtn
       common / alarmcom / i
       i = 3                     ! このルーチンでは I/O を行わない
       return
       end

参照: alarm(3C)、sleep(3F)、signal(3F)。次の制限事項に注意してください。