-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程序员。作者在书中讨论了如何利用...
书中兼顾了顺序编程、并发编程和分布式编程,重点介绍如何编写并发和分布式的Erlang程序以及如何在多核CPU上自动加速程序,并深入地讨论了开发Erlang应用中至关重要的文件和网络编程、OTP、ETS和DETS等主题。...
这个压缩包包含了Erlang程序设计的完整目录和源码,是学习和理解Erlang编程的重要资源。 Erlang的并发特性源于其轻量级进程模型,每个进程都有自己的内存空间,进程间通信通过消息传递实现,这种设计降低了并发执行...
**Erlang程序设计与入门** Erlang是一种并发、函数式编程语言,主要用于构建分布式、高可用性、容错性强的系统。它的设计灵感来源于电信行业的需求,由瑞典爱立信公司于1986年开发。Erlang以其独特的并发模型、轻量...
在Erlang中,函数是第一类公民,可以作为参数传递,也可以作为返回值。函数式编程的特性使Erlang代码更易于理解和调试,因为它们通常没有副作用,这在并行计算中尤为重要。 3. **错误处理与容错** Erlang采用“let...
《Erlang程序设计》这本书,作者是Joe Armstrong,他是Erlang语言的主要开发者之一,对于深入理解和掌握Erlang编程具有极高的指导价值。 本书详细介绍了Erlang语言的基本语法、进程模型、并发编程、错误处理、模式...
"中文版"的Erlang程序设计书籍对于中文阅读者来说是一个宝贵的资源,它将帮助中国开发者更好地理解和应用这一强大的技术,参与到并发和分布式系统的开发中。结合实战经验,Erlang的理论知识可以转化为实际的工程能力...
erlang发明者写的书。erlang/otp一种高可靠性的平台。
在深入理解Erlang程序设计第2版的附书代码之前,我们先来了解一下Erlang的基本概念和特性。 1. **并发与并行**:Erlang的并发模型基于轻量级进程(Lightweight Processes, LWP),这些进程具有独立的执行路径,可以...
总之,《Erlang程序设计中文版》是一本全面介绍Erlang编程语言及其应用的资源,适合对并发编程和分布式系统感兴趣的开发者。通过深入学习和实践,你将能够利用Erlang的强大功能来构建高效、稳定和可扩展的软件解决...
《Erlang程序设计(第二版)》是一本深入探讨Erlang编程技术的书籍,其随书源码提供了丰富的实例,帮助读者更好地理解和实践Erlang编程。 在学习Erlang时,源码是极其宝贵的资源。通过阅读和分析这些代码,我们可以...
《Erlang程序设计第二版》是一本深入探讨Erlang编程语言的书籍,它旨在帮助读者掌握Erlang的核心概念和技术,以实现高并发、容错性和分布式系统的开发。课后习题是学习过程中不可或缺的一部分,它们能够检验并巩固...
《Erlang程序设计》是Joe Armstrong所著的一本经典书籍,主要面向对并发编程和分布式系统感兴趣的读者。这本书的第二版提供了更深入的Erlang语言教程,以及丰富的实践案例,帮助读者理解和掌握Erlang的核心特性。...
Erlang程序设计 ...《Erlang程序设计_第2版_中文版.pdf》这本书将为你提供深入的指导,帮助你掌握这些概念和实践技巧。通过阅读书籍和研究Jaeger的源码,你可以进一步提升在Erlang环境下的开发能力。
Joe Armstrong是Erlang语言的创建者之一,他也是本书《Erlang程序设计第二版》的作者。 在Erlang程序设计中,进程是一个核心概念。Erlang的进程与其他编程语言中的进程或线程有所不同。在Erlang中,进程是轻量级的...
- `_read` 的第一个参数表示读取的方向(0表示输入,1表示输出)。 - `_write` 的第一个参数表示写入的方向。 #### 五、Erlang与C程序的交互流程 1. **创建端口** 在Erlang中,通过调用`open_port`函数创建端口...
在《Erlang程序设计》这本书中,作者Joe Armstrong强调了并发编程的重要性,并提出了一个关键观点:如果想要编写的行为像现实世界中的对象一样的程序,那么这些程序将具有并行结构。这表明,为了模拟真实世界的复杂...
在Erlang开发中,rebar是一个非常重要的构建工具,它可以帮助我们管理和编译Erlang应用程序,同时支持发布功能。本文以nitrogen_2.0.4框架为例,详细阐述使用rebar进行Erlang项目开发和发布的全过程。 ### 一、环境...