Haskell Async lib
I was trying to create a thread and wait in main thread, but it was a little bit complex ( https://gist.github.com/3469872 ): had to create an MVar or Chan to know when thread is done.
Here's better way using Control.Concurrent.Async
import Control.Concurrent
import Control.Concurrent.Async
import System.Random
delayedOutput :: String -> IO ()
delayedOutput m = do
gen <- newStdGen
let (t, _) = randomR (1, 10) ge
-- delay in microseconds
threadDelay (t * 1000000)
-- display message
putStrLn m
return ()
main :: IO ()
main = do
putStrLn "Fight!"
a <- async (delayedOutput "Finish him!")
wait a
return ()
Written by DeTeam
Related protips
2 Responses
https://gist.github.com/3469872 this link not avaliable at the moment
over 1 year ago
·
Parser's greedy :) https://gist.github.com/3469872 is opening fine
over 1 year ago
·
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Haskell
Authors
Related Tags
#haskell
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#