rather than the OS. Pros They don't take up a lot of memory. Cons Green thread implementations normally cannot assign work to multiple processors. A blocking I/O operation can block all green threads.
configurable stack size. On my machine, the default is 8Mb. JVM, .NET, RubyVM, and CPython all use 1Mb by default. Therefore, memory usage will add up quickly.
that threads are part of the programming language, they do not belong to the operating system. That's really what's wrong with programming languages like Java and C++. It's threads aren't in the programming language, threads are something in the operating system – and they inherit all the problems that they have in the operating system. One of the problems is granularity of the memory management system. The memory management in the operating system protects whole pages of memory, so the smallest size that a thread can be is the smallest size of a page. That's actually too big. -- Joe Armstrong
effects. If a process crashes, other processes are not affected. Managed by the VM, rather than the OS. Immutable data structures sidestep shared mutable state. Processes communicate through message passing. Fault-tolerant
this applies to Elixir as well. { _ , b i t s } = : e r l a n g . p r o c e s s _ i n f o ( s p a w n ( f n - > n i l e n d ) , : m e m o r y ) b i t s / 8 # 3 4 0 . 0