This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-03-11
Channels
- # admin-announcements (20)
- # beginners (48)
- # boot (90)
- # cider (33)
- # cljs-dev (5)
- # cljsjs (10)
- # cljsrn (7)
- # clojure (68)
- # clojure-austin (5)
- # clojure-bangladesh (4)
- # clojure-finland (10)
- # clojure-gamedev (1)
- # clojure-madison (7)
- # clojure-poland (15)
- # clojure-russia (75)
- # clojurescript (25)
- # core-async (23)
- # cursive (5)
- # data-science (43)
- # datomic (15)
- # dirac (26)
- # editors (10)
- # emacs (2)
- # euroclojure (12)
- # funcool (23)
- # hoplon (7)
- # immutant (68)
- # jobs (24)
- # jobs-discuss (1)
- # juxt (1)
- # keechma (9)
- # ldnclj (7)
- # luminus (66)
- # off-topic (54)
- # om (170)
- # proton (7)
- # re-frame (1)
- # reagent (15)
- # ring-swagger (11)
- # spacemacs (6)
- # testing (1)
- # vim (1)
- # yada (19)
help me understand the relationship between core.async go blocks and threads
it’s my understanding that a go
expression is immediately run on some internal core.async thread pool
and it will be parked and resumed as necessary but not on any particular thread
we’re actually trying to parallelize some Amazon S3 requests
@jcromartie: my understanding is that you should not use go blocks for blocking I/O, which I think S3 requests would qualify as; maybe use thread
instead
it still feels a little naive to just blindly kick off a thread to do potentially long blocking I/O
we might have 2000 downloads
at a time
@jcromartie: afaics the AWS client supports asynchronous access - http://aws.amazon.com/articles/5496117154196801 - so you should be able to use it with core.async, or you might look into manifold which can straightforwardly adapt java futures
thanks
yeah the AWS client has some neat features
we want to go straight to memory not to disk though
but yeah
lots of good stuff there, thanks
but that pool is not fixed size
so it will either spawn a thread or use one that someone else just finished with
which one is more suitable for handling db and request/response related operations? core.async, or pulsar? i heard someone argue that core.async is not built for IO read/write purposes, and that Pulsar is more suitable.
however i don’t know the underlying difference in how they achieve lightweight threads