среда, 10 ноября 2010 г.

Сравнение Erlang и Clojure в несколько строк.

Erlang: The Movie  <=> Clojure: The Podcast  :-)

Erlang распределенный, Clojure нет.

Агент в ерланг это легковесный поток, над потоками стоит шедулер.

Агент в кложа это объект и вы асинхронно можете посылать сообщение (функцию) этому объекту. Каждый объект имеет очередь и по очереди обрабатывает сообщения. Не надо путать агентов с потоками. Агент это просто объект и вы можете иметь миллионы в памяти безо всякой нагрузки. Обработка сообщений агентов распределяется по пулу потоков. Шедулера нет.

Короче говоря если вы посылаете агенту сообщение с бесконечным циклом, то тред в котором он будет выполнятся заблокируется. В ерланг оно понятно таких проблем нет.

Комментариев нет:

Linux.org.ru News

Вебпланета - все новости

CNews - Издание о высоких технологиях