-
[Erlang] 关于调度策略的疑惑?20
一般来说,对于任何一种 Coroutine 技术而言,除非当前 Coroutine 代码主动释放给调度器(yield)否则会一直独占 CPU,这也是为什么 Coroutine 会比线程开销小的重要基础(无需加锁,对所有内存的访问只要不跨越 yield 语句就可以认为不受干扰),Erlang 的轻量级进程的效率非常高,我原以为一定是基于 Coroutine 或者类似的机制实现的(比如当 receive 的时候 yield 给调度器),但是我看到下面一段文字时有一点疑惑
“并发性——语言必须提供一种轻量化的机制来创建并行进程,以及在进程间发送消息。进程的上下文切换、消息传递必须非常高效。并行进程还必须以一种合理的方式来分享 CPU 时间,以便当前使用 CPU的进程不至于垄断 CPU,而其他的进程处于“准备好”状态而得不到处理。”-- 摘自Joe Armstrong《面对软件错误构建可靠的分布式系统 》(段先德译)
这句话似乎不保证进程的执行在 receive 之间是不受干扰的?我不知道这里的“合理的方式”到底是什么,哪位大侠能解释一下?Erlang 是否会在 receive 语句之间进行切换?
2008年9月23日 22:22
目前还没有答案
相关推荐
erlang入门电子书 erlang编程 Introducing Erlang,作者Simon.St.Laurent
erlang 安装包
Erlang及其应用Erlang及其应用Erlang及其应用
ErlangB和ErlangC计算工具(exe可执行文件+excel两个) ErlangB和ErlangC计算工具(exe可执行文件+excel两个)
erlang25.0 windows版本
erlang otp25 win安装包
erlang22最新下载包 erlang22.1.tar.gz erlang22最新下载包 erlang22最新下载包
Erlang并发编程,Erlang程序设计,Erlang中文手册。 学习erlang的好资料。 Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此...
erlang 中文基础教程erlang 中文基础教程
erlang安装包
esl-erlang_23.0和rabbitmq-3.8.4windows版本 直接下载安装就行,可以直接下载就可安装,非常的方便 ,欢迎大家下载 注意事项: 1. Erlang版本和RabbitMQ版本要配套 (Erlang23.0, RabbitMQ3.8.4) 2. amd芯片请乖乖...
erlang文献及资料汇总 入门资料: erlang中文手册(R11B 文档译文,最适合入门) erlang位运算与二进制解析 erlang二进制高效编程 erlang异常处理详解 开发经验: 面对软件错误构建可靠的分布式系统 编写分布式的 ...
erlang资源,非常值得下载,二郎学习
Erlang特性: ● 并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。 ● 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点) ● 健壮性 - Erlang...
我自己在新学erlang,在LeetCode OJ上找了题目练习,题目很适合新手熟悉语言,但是LeetCode OJ里面只有几门主流语言的答案,下面是已完成的erlang源代码,后续有空再做其他问题续传,题目包含:(源码开头都有题目...
This package contains the Erlang/OTP runtime implementation, which is configured and built with HiPE support (allows compiling to native code), and minimal set of Erlang applications: compiler - ...
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。
Programming Erlang
Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的windows版本Erlang的...
rabbitmq,erlang安装包