文章分类 -  Erlang-内存模型

并发编程模型:Thread, Coroutine, Callback ...
摘要:先总结一下。 线程是最容易编写的并发方式,操作系统也提供了最好的支持;协程可以做到更强的并发能力,但需要实现调度器;回调是开销最小的,它本来不是特别为并发来设计的,它是通用的异步化操作的实现模型。注意线程和协程本身也是使用异步来模拟同步,线程由操作系统来模拟,协程由用户级调度器模拟。模拟的过程是:发起事件请求、挂起当前执行过程(线程或协程)、响应事件请求、恢复挂起的执行过程。回调没有这么复杂,你需要自己把连续的执行过程分解成多步操作。线程就不讨论了,用起来比较简单;协程之前简单研究了一下,切换开销比线程有很大改进,但还是有点大,用作IO事件调度还可以,粒度更小的操作就显得开销过大了,想象一下极 阅读全文

posted @ 2012-11-26 16:50 应无所住而生其心 阅读(478) 评论(0) 推荐(0)

Erlang与java的内存架构比较
摘要:Erlang与java的内存架构比较翻译自http://www.javacodegeeks.com/2011/04/erlang-vs-java-memory-architecture.html转载请注明出处,谢谢了。我读了一篇非常非常有趣的文章(JesperWilhelmsson的一篇论文),是关于Erlang虚拟机(Erlang VM)内存管理策略的。我相信对比一下Erlang和java的虚拟机内存管理策略,一定很有意思。先给从来没有听说过Erlang的同学做个简短的介绍。 Erlang是一门函数语言,通过异步消息传递(asynchronous message passing)来处理并发, 阅读全文

posted @ 2012-11-26 15:24 应无所住而生其心 阅读(638) 评论(0) 推荐(0)

导航