面对软件错误构建可靠的分布式系统_笔记04

3.3.17 Erlang预处理程序epp

   预编译文件:complie:file(M,['p']) ,保存M.erl到M.P

3.3.18 宏

-define(Constant, Replacement).

-define(Func(Var1,Var2,...Var), Replacement).

代码中用?Constant, ?Func代替,即可替换

系统已经预定义宏:

?FILE:当前文件名

?MODULE:当前模块名

?LINE:当前行号

eg:

    -defin(macro1(X, Y), {a,X,Y}).

    foo(A) ->?macro1(A+10, b).

    被替换为

    foo(A) -> {a, A+10,b}.

3.3.19包含文件

    -include(filename). //一般为.hrl扩展文件名

    -include_lib(Name). //库文件

eg:

    -include_lib("kernel/include/file.hrl"). 

 

3.4并发编程concurrent

(1)创建进程spawn

    Pid = spawn(F).  //F为参数为0的函数,创建了对F求值的并行进程,通过Pid可以访问进程

(2)向进程发送消息

    Pid !Msg

(3)进程接收消息receive

    receive

        Msg1 [when Guard1] ->

            Expr_seq1;

        Msg2 [when Guard2] ->

            Expr_seq2;

        ....

        [after TimeOutTime ->         //超时处理

            Timeout_Expr_seq]

       end.

     

3.4.1注册进程名
给Pid起个名字,便于发送消息
    register(Name, Pid).
这样,
    Name ! Msg.   //即可发送消息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值