Erlang 中的supervisor子进程的启动策略定义除了one_for_one、one_for_all、rest_for_one还有一种比较常用的simple_one_for_one。
这种策略与one_for_one比较相似,但在supervisor:init中定义的子进程只能有一个,以后启动的子进程都是以这个为模板产生,且在supervisor 启动时不会主动启动任何子进程,需要自行使用supervisor:start_child 来启动。
这么做的好处是明显的:例如一个接收客户端连接的socket supervisor进程在刚启动的时候是没有客户端连接上来的,后面也无法确定会有多少个连接上来。所以使用这种动态启动子进程的方式是最合适的。
init([Module]) ->
{ok,
{_SupFlags = {simple_one_for_one, ?MAX_RESTART, ?MAX_TIME},
[
%% TCP Client
{undefined,
{Module, start_link, []},
temporary,
2000,
worker,
[]
}
]
}
}.
分享到:
相关推荐
{ok, {{simple_one_for_one, 0, 1}, [{ch3, {ch3, start_link, []}, permanent, brutal_kill, worker, [ch3]}]}}. ``` 这里设置重启间隔为0秒,重启次数为1次。 #### 小结 Supervisor是Erlang并发编程中的重要...
erlang提供了binary_to_term 函数,用于把二进制数据转为原始的erlang数据。这个函数都是c实现的,这里用erlang语言实现了,很有参考价值,其他语言可以参考这个解析erlang二进制协议数据。配套文章地址...
esl-erlang_23.0和rabbitmq-3.8.4windows版本 直接下载安装...以及在path中设置ERLANG_HOME的bin目录 4. erlang安装后要检查能否编译成功一个helloworld文件。 5. rabbitMQ无法安装插件时非常有可能是erlang出问题了。
在Erlang OTP 20.3中,开发者可以期待以下关键特性: 1. **性能提升**:每个新版本通常都会对性能进行优化,包括更快的垃圾回收、更高的并发效率以及更有效的内存管理。 2. **改进的错误处理**:Erlang OTP提供了...
在描述中提到,Erlang_x64_20.1是RabbitMQ环境配置必需的。RabbitMQ是一个开源的消息代理和队列服务器,它使用AMQP(Advanced Message Queuing Protocol)协议,允许应用程序之间异步传递消息。在部署RabbitMQ时,...
4. **ETS (Erlang Term Storage)**:ETS 是一个内存中的数据库,用于快速访问和存储 Erlang 术语,适用于临时数据存储。 5. **Distributed Erlang**:Erlang 支持跨多台机器的分布式计算,通过节点间通信协议实现...
这个erlang23.0版本,根据rabbitMQ官网的介绍,可以和下面这几个版本的rabbitMQ配合使用: 3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 其他版本的rabbit,请移步其他资源下载
在本场景中,"otp_src_20.2.tar.gz" 是Erlang OTP 20.2版本的源代码包,适用于安装和配置RabbitMQ 3.7.3,这是一个基于Erlang的开源消息代理,常用于实现消息队列和发布/订阅模式的通信。 安装Erlang OTP源码步骤...
Erlang是一种强大的编程语言,尤其在分布式计算、并发处理和实时系统中有着广泛的应用。OTP(Open Telecom Platform)是Erlang的核心组件,提供了一系列的库和设计原则,用于构建可靠、可扩展的系统。在Linux CentOS...
标题中的"Erlang_win64_24.1.rar"是指Erlang的64位Windows版,版本号为24.1.7。这个压缩包文件是专为在Windows操作系统上安装和运行Erlang而准备的,包含了所有必要的二进制文件和库,使得开发者可以在Windows平台上...
在"erlang_otp_win64_25.0"这个标题中,我们可以提取出几个关键点: 1. **Erlang**:这是一种函数式编程语言,以其在处理并发性和容错性方面的强大能力而闻名。Erlang的设计理念是让程序员能够轻松地构建能够并行...
Erlang 安装包(otp_win32_R16B03-1.part2)
在Erlang的20.1版本中,开发者可能会遇到一些关键的更新和改进,比如更好的性能、新的编程特性以及对老版本中一些已知问题的修复。对于Erlang程序员来说,了解每个版本的变更日志是非常重要的,以便充分利用新功能并...
标题中的"erlang_win64_22.0"指的是Erlang OTP(Open Telecom Platform)的第22.0版本,这个版本是为64位Windows操作系统设计的。OTP是Erlang的核心库,包含了大量用于构建可靠系统和网络服务的模块。 描述中提到,...
是erlang_otp_20.3 的win64安装包,内为exe文件,一路next即可安装完成 ...变量名为ERLANG_HOME,变量值为安装Erlang的路径(路径中不要包含bin目录) 2.将新建的系统变量添加在Path中:格式为%ERLANG_HOME%\bin
在这个压缩包中,我们有一个名为"Erlang_B_model.pdf"的文件,它很可能是这样的手册的一部分,提供了关于Erlang B模型的理论、公式以及查表方法。 **Erlang B公式**表达了一个服务系统(如电话交换机)在固定数量的...
标题“Erlang_win64_24.2 64位 rabbitmq 必要环境”暗示了我们讨论的是Erlang的特定版本——24.2,用于64位Windows操作系统,并且是运行RabbitMQ所必需的环境。RabbitMQ是一款开源的消息代理和队列服务器,它使用...
Erlang B 和 Erlang C 是在电信领域中广泛使用的两个数学公式,用于预测和管理电话交换系统的呼叫处理能力。这两个公式由丹麦工程师 Agner Krarup Erlang 在20世纪初开发,对于理解通信系统中的呼叫占用率、阻塞率和...
RabbitMQ为了搭建运行环境,erlang的官网下载实在太慢,当前最新版本提交到这里提供给大家和自己下载,Erlang_win64_22.2
此版本为window64位下的,erlang23版本,erlang-otp_win64_23.0,官网原包,官网太难找了,好不容易找到,和大家分享下,需要的可以下载,也作为自己的一个记录吧,自己亲测很好用,erlang环境需要与对应的rabbitmq...