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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.