-module(test81).
-export([start/1]).
start({N,M,Mess})->
statistics(runtime),
statistics(wall_clock),
L=for(1,N,fun()->spawn(fun()->recv() end) end),
for(1,M,fun()->lists:foreach(fun(Pid)->Pid!Mess end,L) end),
{_,Time1}=statistics(runtime),
{_,Time2}=statistics(wall_clock),
U1=Time1*1000,
U2=Time2*1000,
io:format("~w process ~w times message cost time is:~p(~p)microseconds~n",[N,M,U1,U2]).
recv()->
receive
%Mess->io:format("Pid ~p recv message ~p.~n",[self(),Mess]),
Mess->void,
recv()
end.
for(N,N,F)->[F()];
for(I,N,F)->[F()|for(I+1,N,F)].
分享到:
相关推荐
【Erlang程序设计(第2版)】是由Erlang之父Joe Armstrong撰写的一本经典著作,专注于介绍Erlang编程语言在并发、分布式和容错系统中的应用。本书适用于初学者和有一定经验的Erlang程序员。作者在书中讨论了如何利用...
- `_read` 的第一个参数表示读取的方向(0表示输入,1表示输出)。 - `_write` 的第一个参数表示写入的方向。 #### 五、Erlang与C程序的交互流程 1. **创建端口** 在Erlang中,通过调用`open_port`函数创建端口...
在Erlang开发中,rebar是一个非常重要的构建工具,它可以帮助我们管理和编译Erlang应用程序,同时支持发布功能。本文以nitrogen_2.0.4框架为例,详细阐述使用rebar进行Erlang项目开发和发布的全过程。 ### 一、环境...
总而言之,Erlang9.rar是一个包含Erlang/OTP 20.0 Windows 64位安装程序的压缩包,主要用于安装Erlang环境,以支持像RabbitMQ这样的Erlang应用。Erlang以其独特的并发模型和强大的错误恢复能力,广泛应用于需要高...
"xiandiao_erlang_Erlang课后习题_"这个压缩包文件包含了Erlang程序设计第二版的课后习题源码,这对于学习和深入理解Erlang编程至关重要。 Erlang的特点: 1. **函数式编程**:Erlang基于函数式编程范式,强调无副...
这是一个Windows 64位的可执行安装程序,包含了所有必要的组件来运行Erlang环境。在安装过程中,你通常会遵循以下步骤: 1. **下载**:首先,访问Erlang官方网站或者通过第三方源下载`otp_win64_25.0.exe`文件。 2....
在"Erlang23_3"这个压缩包中,我们可以推测这包含了Erlang的第23个主要版本的第三个修订版。通常,软件版本号的格式是主版本号.次版本号.修订号,所以这里可能是Erlang的稳定版本。该版本可能包含性能优化、新功能、...
总的来说,Erlang在Windows 64位系统上的安装是搭建RabbitMQ等基于Erlang技术栈项目的第一步。理解Erlang语言特性和其与RabbitMQ的结合,对于开发者来说至关重要,它将有助于构建稳定、高效的分布式系统。
这是第一卷。 在2008 CN Erlounge III的“Erlang应用程序接口”讲演的视频。PPT等其它资料在这里: http://blog.csdn.net/aimingoo/archive/2009/01/14/3777765.aspx 有关信息参见: ...
Erlang22是Erlang的第22个主要版本,它包含了对语言特性的改进、性能优化以及一些新的库和工具。 在“erlang22最新下载包”中,提供的文件是`otp_src_22.1`,这表明这是一个源代码包,包含Erlang/OTP(开放电信平台...
- **列表处理**:Erlang提供了强大的列表处理功能,如`hd`(head)和`tl`(tail)用于获取列表的第一元素和剩余部分,以及`lists`模块的众多函数。 - **递归**:由于Erlang的进程特性,递归是常见的编程方式,尤其在...
第一部分介绍Erlang语言的基础知识,包括其语法特性、并发模型和错误处理策略。读者将了解Erlang的模式匹配、函数式编程概念以及如何利用轻量级进程进行并发编程。第二部分深入探讨OTP,讲解其设计原则和组件,如...
这个版本号18.1表明它是Erlang/OTP系统的第18次主要发布,其中的小版本1代表了在此基础上的一次重要更新。 Erlang/OTP(Open Telecom Platform)是Erlang编程环境的基础,它包括了Erlang虚拟机(BEAM)、标准库和一...
Erlang 23.1是Erlang的一个版本,它包含了对先前版本的改进和新特性。 在标题中提到的"erlang 23.1 - windows",指的是该版本是专门为Windows操作系统编译的。Windows用户在安装RabbitMQ(一个基于Erlang的开源消息...
在Erlang中,函数是第一类公民,可以作为参数传递,也可以作为返回值。此外,Erlang支持模式匹配,使得函数定义可以基于不同的输入模式执行不同的逻辑。 **三、并发与并行** Erlang的并发模型是基于轻量级进程(也...
Erlang 是一种功能强大的并发性编程语言,...总的来说,安装 Erlang 运行环境是开发基于 Erlang 应用的第一步,通过这个环境,你可以创建、运行和测试 Erlang 程序,享受它带来的并发编程优势和强大的分布式系统支持。
版本号21.0.1表明这是Erlang OTP的第21个主要版本的第一次小更新。OTP包含了一个虚拟机(BEAM虚拟机),它能够执行Erlang代码,并且提供了一系列强大的库和服务,如进程间通信、分布式计算、错误恢复和监控。 ...
第一个版本发送默认消息,第二个版本允许自定义消息。 3. `apply_after/4`:与`send_after/4`类似,但不是发送消息,而是应用给定的函数和参数。 4. `start_timer/3`,`start_timer/4`:这些函数启动一个一次性...
【JavaScript + Delphi + ErLang讲座内容(4)】是一个专题讲座的第四部分,主要探讨了如何将三种技术——JavaScript、Delphi和Erlang——整合应用。这个压缩包包含了多个资源,帮助学习者理解这三者的交互和实际应用...
总的来说,"erlang-otp-win64位 25.3版本"的安装是部署RabbitMQ等基于Erlang OTP技术的应用的第一步。理解Erlang OTP的特性和RabbitMQ的工作原理,能够帮助开发者更好地利用这些工具构建高效、可靠的系统。在实际...