diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-02-27 13:33:11 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-02-27 14:35:09 +0000 |
commit | 151b0dcd4e16e28d76fbdceadeea7287b49b9e29 (patch) | |
tree | 514b4200efd3eeb181d0e221fa2eb261e3e15c1e /docs | |
parent | b1bd566a40d3cfe3db51aa1399b293cdbceff185 (diff) | |
download | haskell-151b0dcd4e16e28d76fbdceadeea7287b49b9e29.tar.gz |
Mention -threaded in the intro to Concurrent Haskell
And make the docs a bit more concrete.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/phases.xml | 25 | ||||
-rw-r--r-- | docs/users_guide/using.xml | 29 |
2 files changed, 47 insertions, 7 deletions
diff --git a/docs/users_guide/phases.xml b/docs/users_guide/phases.xml index f98fe90477..d7ad9955d3 100644 --- a/docs/users_guide/phases.xml +++ b/docs/users_guide/phases.xml @@ -941,13 +941,24 @@ $ cat foo.hspp</screen> <itemizedlist> <listitem> - <para>Parallelism<indexterm><primary>parallelism</primary></indexterm> on a multiprocessor<indexterm><primary>multiprocessor</primary></indexterm><indexterm><primary>SMP</primary></indexterm> or multicore<indexterm><primary>multicore</primary></indexterm> - machine. See <xref linkend="using-smp" />.</para> - - <para>The ability to make a foreign call that does not - block all other Haskell threads, and to invoke - foreign-exported Haskell functions from multiple OS - threads. See <xref linkend="ffi-threads" />.</para> + <para>It enables the <option>-N</option><indexterm><primary><option>-N<replaceable>x</replaceable></option></primary><secondary>RTS option</secondary></indexterm> RTS option to be + used, which allows threads to run in + parallel<indexterm><primary>parallelism</primary></indexterm> + on a + multiprocessor<indexterm><primary>multiprocessor</primary></indexterm><indexterm><primary>SMP</primary></indexterm> + or + multicore<indexterm><primary>multicore</primary></indexterm> + machine. See <xref linkend="using-smp" />.</para> + </listitem> + <listitem> + <para>If a thread makes a foreign call (and the call is + not marked <literal>unsafe</literal>), then other + Haskell threads in the program will continue to run + while the foreign call is in progress. + Additionally, <literal>foreign export</literal>ed + Haskell functions may be called from multiple OS + threads simultaneously. See + <xref linkend="ffi-threads" />.</para> </listitem> </itemizedlist> </listitem> diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml index 4a99b8876a..234b64d736 100644 --- a/docs/users_guide/using.xml +++ b/docs/users_guide/using.xml @@ -2049,6 +2049,35 @@ f "2" = 2 <ulink url="&libraryBaseLocation;/Control-Concurrent.html"><literal>Control.Concurrent</literal></ulink>. More information on Concurrent Haskell is provided in the documentation for that module.</para> + <para> + Optionally, the program may be linked with + the <option>-threaded</option> option (see + <xref linkend="options-linker" />. This provides two benefits: + + <itemizedlist> + <listitem> + <para>It enables the <option>-N</option><indexterm><primary><option>-N<replaceable>x</replaceable></option></primary><secondary>RTS option</secondary></indexterm> RTS option to be + used, which allows threads to run in + parallel<indexterm><primary>parallelism</primary></indexterm> + on a + multiprocessor<indexterm><primary>multiprocessor</primary></indexterm><indexterm><primary>SMP</primary></indexterm> + or + multicore<indexterm><primary>multicore</primary></indexterm> + machine. See <xref linkend="using-smp" />.</para> + </listitem> + <listitem> + <para>If a thread makes a foreign call (and the call is + not marked <literal>unsafe</literal>), then other + Haskell threads in the program will continue to run + while the foreign call is in progress. + Additionally, <literal>foreign export</literal>ed + Haskell functions may be called from multiple OS + threads simultaneously. See + <xref linkend="ffi-threads" />.</para> + </listitem> + </itemizedlist> + </para> + <para>The following RTS option(s) affect the behaviour of Concurrent Haskell programs:<indexterm><primary>RTS options, concurrent</primary></indexterm></para> |