Hi guys!

I'm considering doing a server project in Haskell,
using GHC, and I'm having the old dilema of trying to
figure out the best way of handling multiple
concurrent connections: multiplexing or
multithreading.

I've started looking into the docs on GHC's
implementation of Concurrent-Haskell, and I got
confused about the architecture. Different sources
seem to indicate that it either:
- Uses one OS thread, and blocking IO calls will
therefore block all the Haskell-threads, or
- Uses one OS thread, occasionaly (50 times a second?)
calling select() to simulate blocking IO calls without
blocking other Haskell-threads, or
- Uses a pool of OS threads so that when a blocking IO
call is made, another thread takes over execution.

So which is right for the current stable GHC? And how
efficient/scalable is it?

Thanks,
  -Jony

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to