1. Куча / Говнокод #25549

    0

    1. 1
    2. 2
    fuse_blown() ->
      whereis(?marker_process) =/= undefined.

    Q: Какой механизм IPC в Erlang самый быстрый и безопасный?
    Отвечает Снаут, основатель Стиля Вечно Ждущего Процесса: process registry.

    Запостил: CHayT, 17 Апреля 2019

    Комментарии (6) RSS

    • seo: #опердени
      Ответить
    • Эдакий глобальный процесс-флажок: существует/не существует? А как обстоят дела с установкой флажка?
      Ответить
      • Тупо создаёшь процесс, который себя регистрирует и виснет.
        Ответить
        • Созданный процесс регистрирует сам себя, а не создавший регистрирует его, на случай если какой-то процесс создаст ещё один такой поток? Тогда упадёт только созданный поток, а создавшему ничего не будет?

          А в вашем эрланге что ещё есть глобального на всю ноду кроме имён процессов?
          Ответить
          • > А в вашем эрланге что ещё есть глобального на всю ноду кроме имён процессов?
            ets, dets, некоторые низкоуровневые приблуды типа system event handler pid или трэйсеров
            с недавних пор: constant term storage, counters

            Это вам не питухаскель, люди чистотой не так заморачиваются.
            Ответить
          • > Созданный процесс регистрирует сам себя, а не создавший регистрирует его
            Да.

            register BIF крешится, если пытаться перерегистрировать что-либо пока старый процесс жив, без неявного unregister
            Ответить

    Добавить комментарий