Результаты поиска по запросу "erlang"

4 ответа

Возможно, самый простой ответ - это то, что вы ищете, просто получив блокировку записи (для реплицированной синхронизации) и сделав транзакционную функцию, которая получает текущее значение счетчика, увеличивает его и сохраняет обратно в БД. Конечно, вы будете увеличивать накладные расходы по мере масштабирования системы, но я бы порекомендовал написать сервер, который сделает это за вас, и запустить его на подмножестве узлов, чтобы конфликт блокировки не был напрямую связан с размером кластера.

у приложение на Erlang / OTP и хочу использовать последовательные счетчики в системе записи версий. Я впервые реализовал их с mnesia:dirty_update_counterно опыт его использования вытеснил эти жесткие требования: Счетчики должны иметь следующие ...

3 ответа

Но, конечно, будут методы spawn ().

му, когда пользователь отправляет запрос на регистрацию учетной записи, он отправляет свое имя пользователя, пароль, электронную почту и другую информацию. Функция регистрации должна проверять все свои данные. Примером может быть: подтвердить ...

3 ответа

Недавно я вспомнил модуль pg, который позволяет вам настраивать группы процессов. сообщения, отправленные в группу, поступают в каждый процесс в группе. Это может привести вас к тому, что вы хотите. вам нужно было бы написать код, чтобы решить, какой процесс будет обрабатывать запрос, но вы получите пул без мастера, использующего его.

трел на модули slave / pool, и это похоже на то, что я хочу, но также кажется, что у меня есть единственная точка отказа в моем приложении (если основной узел выходит из строя). У клиента есть список шлюзов (ради отступления - все они делают ...

ТОП публикаций

2 ответа

Как краткий ответ: процессы Erlang не являются потоками ОС и не отображаются на них напрямую. Планировщики Erlang - это то, что работает в потоках ОС и обеспечивает интеллектуальную реализацию более мелких процессов Erlang, скрывающих эти детали за глазами программиста.

г известен тем, что способен поддерживать МНОГО легких процессов; он может сделать это, потому что это не процессы в традиционном смысле или даже потоки, как в P-потоках, а потоки полностью в пользовательском пространстве. Это хорошо и здорово ...

4 ответа

списки: CONCAT ([Number]). тоже работает.

ю, что следует избегать строк Erlang любой ценой ... но если я не делаю этого, как я получу «5» из 5? в частности, есть ли что-то вроде io: format ("~ p", [5]), которое возвращало бы отформатированную строку вместо печати в поток?

4 ответа

Чтобы ответить на этот вопрос, сопоставление с образцом строится эффективным способом из более примитивных операций. Вот часть кода из функционального предложения, соответствующего {X, [H | T]}.

нтересно, как обычно осуществляется сопоставление с образцом. например, в Erlang вы думаете, что он реализован на уровне байт-кода (есть байт-код для его эффективного выполнения) или он генерируется компилятором как серия инструкций (ряд ...

3 ответа

Мне просто любопытно, какие части написаны на С ++.

заключается реализация и компилирование компанией Эрикссон Erlang и Erlang / OTP? Является ли сборка, C или Erlang сама? Обновление 1: благодаря DrJokepu. Если я правильно понимаю, компилятор исходного кода на Erlang написан на самом Erlang. Но ...

2 ответа

Поблагодарить!

етил следующий комментарий в моей копии Expert F # на странице 379: Передача и обработка сообщений Часто проводится различие междупараллелизм совместно используемой памяти а такжепараллелизм передачи сообщений, Первый часто более эффективен на ...

8 ответов

Эрланг использует модель процесса, в которой процесс может выполняться на одной и той же виртуальной машине или на другом процессоре. Это возможно только потому, что сообщения копируются между процессами, нет общего (изменяемого) состояния. Многопроцессорный паралелизм идет намного дальше, чем многопоточность, поскольку потоки зависят от общей памяти, это может быть только 8 потоков, работающих параллельно на 8-ядерном процессоре, в то время как многопроцессорность может масштабироваться до тысяч параллельных процессов.

людал растущую известность функциональных языков программирования и функций в течение некоторого времени. Я посмотрел на них и не увидел причину апелляции. Затем я недавно посетил презентацию Кевина Смита «Основы Эрланга» ...

2 ответа

Обходной путь - миграция. Просто запустите кластер mnesia и перенесите все свои таблицы и схемы на другой узел. Чем удалить из оригинала и забыл.

дал базу данных / схему Mnesia на машине1. Узел был назван mypl @ machine1. Затем я переместил все файлы на machine2, потому что machine1 сломался. Все работает нормально, пока код работает с именем «mypl @ machine1». Очевидно, это несколько ...