LINUX.ORG.RU

потоки как в erlang?


0

0

в каком языке/реализации/библиотеке есть такие же легковесные soft-потоки как в erlang?
насколько я понял из описания нечто такое предлагает Threads из Ocaml. наверняка есть (но я не нашел) нечто такое в common lisp.
но позволят они запускать несколько тысяч потоков на обычной десктоп-машине (как это можно в erlang)?

anonymous

erlang наверное - лучший выбор

ruby имеет свою реализацию потоков, но оно мне не кажется надёжным

Pi ★★★★★
()
Ответ на: комментарий от Pi

+1

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

Zmacs
()

В оцамле нативные (тяжеленные) потоки.

Но вообще это даже в Си легко можно реализовать, это обычная невытесняющая многозадачность.

anonymous
()

ОС с поддержкой MxN потоков + pthread_create с PTHREAD_SCOPE_PROCESS :)

execve
()
Ответ на: комментарий от Pi

> ruby имеет свою реализацию потоков, но оно мне не кажется надёжным

Более того, если выполнение уходит в .so, то все ryby потоки встают. Ждем выхода ruby2, где будут нативные потоки AFAIK.

aton
()
Ответ на: комментарий от Pi

erlang - это да, но требуются вычисления с плавающей точкой и легкая неОС-многопоточность. первую задачу elang решает не очень хорошо

anonymous
()
Ответ на: комментарий от anonymous

так а на Ц такая задача нерешабельная?

Pi ★★★★★
()
Ответ на: комментарий от anonymous

> erlang - это да, но требуются вычисления с плавающей точкой и легкая неОС-многопоточность. первую задачу elang решает не очень хорошо

Опиши задачу поподробнее.

Есть подозрение, что можно попытаться обойтись и без тысяч потоков.

execve
()
Ответ на: комментарий от anonymous

М-м-м... а прописать гарды не помогает?

Miguel ★★★★★
()

CL-MUPROC посмотри попробуй.

А в чем смысл легковесных потоков? Они же будут non preemptive. Объясните кто-нить, пожалуйста.

Kpoxman ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.