This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-11-26
Channels
- # admin-announcements (70)
- # aws (1)
- # beginners (17)
- # boot (37)
- # business (1)
- # cider (2)
- # cljs-dev (56)
- # cljsrn (6)
- # clojure (151)
- # clojure-germany (1)
- # clojure-nl (5)
- # clojure-poland (5)
- # clojure-russia (34)
- # clojure-taiwan (1)
- # clojurescript (289)
- # clojurex (2)
- # cursive (16)
- # datavis (3)
- # datomic (12)
- # editors (10)
- # emacs (3)
- # hoplon (17)
- # ldnclj (5)
- # lein-figwheel (12)
- # leiningen (1)
- # liberator (1)
- # off-topic (23)
- # om (116)
- # onyx (39)
- # parinfer (44)
- # portland-or (1)
- # reagent (34)
- # yada (6)
Na takim talku Martina Thompsona, mówił że właśnie najlepsze jest podejście z jednym wątkiem, czyli worker który powoduje zmianę i np core.asyncowy kanał do którego się wrzuca zmiany.
Mówił tak dlatego że persistent data structure tak na prawdę nie są dobre do modyfikacji przez różne wątki jednocześnie, bo i tak po drodze musi gdzieś wystąpić lock (przy kopiowaniu częściu struktury).
Znaczy póki wszystko masz w jednym agencie, to nic nie jest modyfikowane jednocześnie chyba, więc tej części problemu nie ma. I w sumie zastanawiam się czemu trzeba by było lockować tą strukturę, skoro częścią persistent data structures jest to, że nigdy się w nich nic nie zmienia, najwyżej dochodzi nowe. Ale zobaczyłem że to koleś od LMAX disruptora, to pewnie nie gada takich rzeczy bez pokrycia.