Hello Yang Qing,
Go to: http://www.haskell.org/~simonmar/bib.html and also http://sourceforge.net/forum/forum.php?forum_id=253134. The last time I read code I believe Simon Marlowe used monads to implement threads in Haskell. Read the code and you will see.
Regards, Vasili I.Galchin