首页 > Erlang并发教程 > 2.8 Erlang并发编程-一个echo进程
2013
11-04

2.8 Erlang并发编程-一个echo进程

Erlang一个echo进程
作为一个并发进程的简单示例,我们创建一个echo进程用于原样发回它所接收到的消息。我们假设进程A向echo进程发送消息{A, Msg},则echo进程向A发送一条包含Msg的新消息。如图1.1所示。

Erlang一个echo进程

图1.1 一个echo进程

在程序1.5中echo:start()创建一个返回任何发送给它的消息的简单进程。

程序 1.5

-module(echo).
-export([start/0, loop/0]).

start() ->
    spawn(echo, loop, []).
loop() ->
    receive
        {From, Message} ->
            From ! Message,
            loop()
    end.

spawn(echo, loop [])echo:loop()所表示的函数相对于调用函数并行求值。因此,针对:

...
Id = echo:start(),
Id ! {self(), hello}
...

进行求值将会启动一个并行进程并向该进程发送消息{self(), hello}——self()是用于获取当前进程标识符的BIF。


2.8 Erlang并发编程-一个echo进程》有 3 条评论

  1. god 说:

    不是来看看,站长别中途而废啊

  2. lov 说:

    站长坚持啊。。

留下一个回复

你的email不会被公开。