Erlang Programming/Timeouts

      Timeouts

      Timeouts are created by the [ receive - after - end ] structure. Timeouts are measured in miliseconds so 4000 = 4 seconds. We can create a simple timer with the following program: myTimer.erl

      % ============================================================ >%
      -module( myTimer ).
      -compile( export_all ).
                                                                      %
      % A simple timer that uses a timeout.
                                                                      %
      start( Timeout ) ->
          receive
          after Timeout ->
              io:format( "your ~w secs are up." , [Timeout/1000] )
          end.        
      % ============================================================ >%
      %
      % Sample output:
      % 
      % 8> c(myTimer).
      % ok.
      %
      % 9> myTimer:start(4000).
      % your 4.00000 secs are up.ok
      

      Timeout values may be any number greater than or equal to 0, including the atom 'infinity'.

      Last modified on 4 May 2009, at 04:24