(toiminnot)

hwechtla-tl: Säikeet ja tapahtumat

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


(nettipäiväkirja 23.10.2015) Tapahtumapohjaiset palvelimet (eli niin sanottu "asynkroninen ohjelmointi") ovat nousseet kovasti viime aikoina. Oikeasti tapahtumapohjaisuus on mahdotonta erottaa säikeistä, jos kieliympäristö (esim. Erlang tai Haskell) abstrahoi sen tarpeeksi hyvin. Kyseessä on oikeastaan kaksi erillistä kysymystä: 1) mikä on luonteva tapa kirjoittaa rinnakkaiskoodia ja 2) mikä on hyvä tapa toteuttaa se rinnakkaismalli, joka kielessä esitellään.

Yrittämättä ottaa kantaa ensimmäiseen, alkaa olla aika selvää, että I/O-rajoitteisissa palveluissa paras toteutustapa on ko-operatiivinen kevyt kontekstinvaihto, joka on event-pohjaisten ratkaisujen taustalla. Tässä on artikkeli, joka perustelee, miksi sille voi ihan hyvin kehittää säikeiden näköisen rajapinnan: http://static.usenix.org/events/hotos03/tech/full_papers/vonbehren/vonbehren_html/

Python-maailma näyttää omasta puolestaan päättäneen, että intuitiivinen syntaksi ko-operatiiviselle rinnakkaisuudelle tulee korutiineista. Siitä on kyse siinäkin, että async/await-syntaksit otettiin kieleen (ks. Pycon Finland 2015). Ehkäpä jossain vaiheessa tajutaan, että täydet jatkeet ovat käteviä. Ja sitten ollaan taas saavutettu jo 1980-luvun teknologinen taso.


kommentoi (viimeksi muutettu 23.10.2015 16:04)