[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