X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fphases.xml;h=e5bac79dfd7dd1d7d1a7992b01726dc411956964;hb=fdcf1ffec106b17928d0dfabad4ee7c851500cd2;hp=fd034a305afc5dbdf30734b9b8a2775df0de8ea6;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git
diff --git a/docs/users_guide/phases.xml b/docs/users_guide/phases.xml
index fd034a3..e5bac79 100644
--- a/docs/users_guide/phases.xml
+++ b/docs/users_guide/phases.xml
@@ -839,26 +839,43 @@ $ cat foo.hspp
- Link the program with the "threaded" runtime system.
- This version of the runtime is designed to be used in
- programs that use multiple operating-system threads. It
- supports calls to foreign-exported functions from multiple
- OS threads. Calls to foreign functions are made using the
- same OS thread that created the Haskell thread (if it was
- created by a call-in), or an arbitrary OS thread otherwise
- (if the Haskell thread was created by
+ Link the program with the "threaded" version of the
+ runtime system. The threaded runtime system is so-called
+ because it manages multiple OS threads, as opposed to the
+ default runtime system which is purely
+ single-threaded.
+
+ Note that you do not need
+ in order to use concurrency; the
+ single-threaded runtime supports concurrency between Haskell
+ threads just fine.
+
+ The threaded runtime system provides the following
+ benefits:
+
+
+
+ Parallelismparallelism on a multiprocessormultiprocessorSMP or multicoremulticore
+ machine. See .
+
+ The ability to make a foreign call that does not
+ block all other Haskell threads..
+
+ The ability to invoke foreign exported Haskell
+ functions from multiple OS threads.
+
+
+
+ With , calls to foreign
+ functions are made using the same OS thread that created the
+ Haskell thread (if it was created by a call to a foreign
+ exported Haskell function), or an arbitrary OS thread
+ otherwise (if the Haskell thread was created by
forkIO).More details on the use of "bound threads" in the
threaded runtime can be found in the Control.Concurrent module.
-
- The threaded RTS does not
- support using multiple CPUs to speed up execution of a
- multi-threaded Haskell program. The GHC runtime platform
- is still single-threaded, but using the
- option it can be used safely in
- a multi-threaded environment.