[linux-l] Java Thread vs. c fork vs. erlang spawn

Jan Krueger jk at microgalaxy.net
Fr Okt 24 01:06:28 CEST 2003


On Thursday 23 October 2003 15:37, Oliver Bandel wrote:
> Hi, Dr. Erlang ;-)
*hüstel*

> BTW: Da Du ja vermutlich weist, wo, kannst Du doch mal
> ne URL schicken, wo Erlang als Source zu finden ist...
Natürlich das original bei www.erlang.org
:)


> ...oder gibt's das auch als Debian-Paket?
Ja, gibt es:
http://www.erlang.org/download.html
ftp://ftp.debian.org/debian/pool/main/e/erlang/erlang_9.0-9_i386.deb

Vorsicht! 18 Megabyte!

> BTW_2: Unter Erlang soll es auch ganz simpel sein, Prozesse auf
> unterschiedlichen Hosts zu starten (transparent).
Naja, wirklich transparent finde ich das nicht, aber einfach ist es, das ist 
auch das feature, was mich besonders reizt:
spawn(Node,Module,Func,Args) -> Pid

Mann muß also Node kennen, d.h. vorher eine Verbundung zu Node aufbauen, d.h. 
die VM muß Node kennen, ist also etwas Administrativer aufwand 
(kommunikations-deamon starten, ordentliche Node-Namen vergeben, 
Namensauflösung einrichten, authentifizierung ermöglichen, und das ganze dann 
im Programm ermitteln und verarbeiten). Klingt schwieriger als es ist. 
Absolut spitze finde ich das asynchrone messaging.
Ich versuch das gerade in einer heterogenen umgebung mit meinem FreeBSD 
einerseits und meinem Windows anderseits. Linux muß noch warten.

> Kannst Du zu
> dem Feature schon was Erzählen, oder ist der "Dr. Erlang" erst
> noch in Arbeit? ;-)
Dr. Erlang? Arbeit? Hihi,
ich mach das mehr zum Spaß :)
Das größte Problem ist wohl die Nicht-Verfügbarkeit von aktueller, 
ausführlicher Dokumentation zu den Distributed Features. Leider. Es gibt das 
Buch, aber das hab ich nicht und es soll auch nicht mehr aktuell sein. Also 
muß man sich selber durchfriemeln und halt in die Doku der mitgelieferten 
Libraries/Beispiele schauen was es denn so alles gibt und wie man es 
verwenden könnte usw. Die online verfügbare Doku ist recht kurz und knapp 
gehalten und läßt bei mir so manche Frage offen. Es gibt dann noch die 
Maillingliste wo man im Zweifelsfall fragen kann.
Also zb. wenn mein gepostetes riesen programm unter linux nicht so 
funktioniert wie unter FreeBSD und Windows, liegt es dann an meinem Programm?
Oder anders gefragt: Darf ich denn überhaupt von meinen Prozessen einfach so 
auf stdio [write('bla')] zugreifen (und es funktioniert nur zufällig unter 
Windows und FreeBSD) oder muß ich stattdessen irgendwie einen überprozess/
Device benutzen [write([IoDevice,] 'bla')]? Wie bekomme ich das IoDevice für 
stdio ermittelt? Fragen über fragen..., vielleicht hab ich was überlesen, muß 
mir das nochmal, immer wieder, anschauen.

Gruß
Jan





Mehr Informationen über die Mailingliste linux-l