send-off works by submitting a Runnable to a newCachedThreadPool.

http://stackoverflow.com/questions/11316737/managing-agent-thread-pools-in-clojure

A Runnable sent to a thread pool will have exclusive use of that
thread until it completes; therefore, greater concurrency can only be
achieved by more threads, and 10k connections will need 10k threads.

I don't know much about asynchronous IO implementations in Clojure,
but agents probably aren't what you want.

Phil

On 17 November 2012 13:06, Elliot <ell...@deck36.net> wrote:
> Hi all,
>
> I'm writing a c10k-style service, i.e. suppose 10,000 concurrent
> connections, mostly IO-bound.  Clojure agents with `send-off` are
> fantastically close to what I want conceptually, but I'm curious about the
> implementation details--can anyone confirm, this would end up forking 10,000
> threads, which would presumably kill the system under context-switching
> load?
>
> From what I understand, Erlang/Go have lightweight "actor" processes which
> are not true threads and are designed to have 10,000 of them spawned at once
> handling async-IO without problem.  I'd prefer to stick with Clojure if
> possible but need to be able to handle the connection/IO-load.
>
> Anyone know how this works and/or has tried this in a production system?
>
> Any thoughts appreciated.  Thanks!
>
> - Elliot
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to