новости сообщество форум вики
Erlang по-русски. Форум » Erlang »

механизм работы register()

(3 posts)

  1. Объясните пожалуйста как действует функция register(), например если написать так:

    start1(Num) ->
    Pid = spawn(fun() -> start_hyper([]) end),
    register(sv, Pid),
    P = start_proc(Num, self(), []).

    если внутири start_proc вызвать whereis(sv) то все ок,
    а если написать
    start1(Num) ->
    P = start_proc(Num, self(), []),
    Pid = spawn(fun() -> start_hyper([]) end),
    register(sv, Pid).

    то будет undefined почему?

    Отправлено 1 год назад #
  2. т.е получается, что код внутри нового процесса исполняется быстрее чем выражение идущее за spawn и выходит, что процесс еще просто не зарегистрирован? или тут что-то другое?

    Отправлено 1 год назад #
  3. strobe, не очень понятно, что хотел спросить..

    Примеры вы?е можно свести к следующему:
    1)
    register(sv, Pid),
    whereis(sv),

    2)
    P = whereis(sv),
    register(sv, Pid),

    Конечно результаты вызова whereis будут разные.

    Отправлено 1 год назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.

 
 

так же

Популярные тэги



Currently online

No Members around.

сообщество

http://groups.google.com/group/erlang-russian/feed/rss_v2_0_msgs.xml