[erlang-questions] how are erlang process lightweight?
Ulf Wiger (TN/EAB)
ulf.wiger@REDACTED
Tue Oct 3 12:23:00 CEST 2006
Check out the recent thread at Lambda the Ultimate:
"What Makes Erlang Processess Tick?"
http://lambda-the-ultimate.org/node/1742
BR,
Ulf W
> -----Original Message-----
> From: erlang-questions-bounces@REDACTED
> [mailto:erlang-questions-bounces@REDACTED] On Behalf Of Ben Dougall
> Sent: den 3 oktober 2006 11:31
> To: erlang-questions@REDACTED
> Subject: [erlang-questions] how are erlang process lightweight?
>
> Hello,
>
> I'm trying to find out how Erlang processes work / what
> they're made of. I know they don't share their memory with
> each other (have their own heaps), in order to communicate do
> so by message passing that are serialised data. They run one
> after another, per cpu/core. The schedular decides which
> process should get to go next. They stop processing when they
> come to a point where they're waiting for a message or after
> they've been processing for a certain amount of time.
> All this is handled by the language/runtime system and
> happens within user space.
>
> Each process is very lightweight. I'm struggling to find out
> how they're lightweight. They're stackless? Is that correct?
> On the stack, with things that use them, local variables are
> stored. What happens to a process's local variables when it's
> switched out of control (due to coming to a point where it's
> waiting for a message or reached its time limit)? Each
> process must have local variables don't they? So what happens
> to them? Where do they get stored? If you have a set of local
> variables per process then how is each process considered so
> lightweight? And if you don't have a set of local variables
> per process then how can they operate reasonably -- local
> variables persisting seem essential? A set of local variables
> must get stored per process and if you have hundreds of
> thousands of processes that's not so lightweight is it?
>
> Also how do processes correspond to functions? Is it just one
> function per process? Processes and functions are very much
> tied up with each other; one to one?
>
> Any info or pointers to things that contain info on this
> would be much appreciated.
>
> Thanks, Ben.
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
More information about the erlang-questions
mailing list