From 8997af62ca647b52a3eae314f45d86db346fab45 Mon Sep 17 00:00:00 2001 From: sof Date: Thu, 13 May 1999 13:08:24 +0000 Subject: [PATCH] [project @ 1999-05-13 13:08:24 by sof] Added documentation for (yield :: IO ()) --- ghc/docs/libraries/Concurrent.sgml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ghc/docs/libraries/Concurrent.sgml b/ghc/docs/libraries/Concurrent.sgml index 118178c..087baf6 100644 --- a/ghc/docs/libraries/Concurrent.sgml +++ b/ghc/docs/libraries/Concurrent.sgml @@ -3,7 +3,8 @@

This library provides the Concurrent Haskell extensions as described -in . +in . module Concurrent where @@ -15,6 +16,7 @@ instance Ord ThreadId forkIO :: IO () -> IO ThreadId myThreadId :: IO ThreadId killThread :: ThreadId -> IO () +yield :: IO () data MVar a -- Synchronisation variables newEmptyMVar :: IO (MVar a) @@ -71,8 +73,7 @@ Notes: Hugs uses cooperative multitasking: Context switches only occur when you use one of the primitives defined in this module. This means that programs such as: -s not been implemented yet on -Hugs + main = forkIO (write 'a') >> write 'b' where write c = putChar c >> write c @@ -85,6 +86,12 @@ main = forkIO (write 'a') >> write 'b' simple graphical user interfaces. +The yield action forces a context-switch to any other +currently runnable threads (if any), and is occasionally useful when +implementing concurrency abstractions (especially so if the +implementation of Concurrent Haskell uses cooperative multitasking). + + Hugs does not provide the functions -- 1.7.10.4