process sleeps
Raimo Niskanen
raimo@REDACTED
Tue Apr 25 16:05:28 CEST 2006
yani.dzhurov@REDACTED (Yani Dzhurov) writes:
If you read the source code for timer.erl:
sleep(T) ->
receive
after T -> ok
end.
you will see that timer:sleep(0) will become
receive after 0 -> ok end.
and that will not even schedule out the current process.
To do that you should use
erlang:yield().
instead.
> Hi guys,
>
>
>
> I wondered whether timer:sleep(0) would cause a process to sleep or it will
> just pass it ?
>
> For instance if I have spawned process with fun();
>
>
>
> fun()->
>
> bar(),
>
> baz(),
>
> timer:sleep(0),
>
> bar().
>
> Would the process sleep after baz(), or not ?
>
>
>
> 10x,
>
>
>
> yani
>
>
--
/ Raimo Niskanen, Erlang/OTP, Ericsson AB
More information about the erlang-questions
mailing list