Beispiel MVar

Hauptprogramm wartet, bis ein Thread fertig ist:

main = do
    -- nur zum Synchronisieren, 
    -- Inhalt ist egal:
    synch :: MVar () <- newEmptyMVar

    forkIO $ do
        forM_ [ 1, 3 .. 100 ] print
        putMVar synch () -- fertig

    forM_ [ 0, 2 .. 50 ] print

    takeMVar synch -- warten



Johannes Waldmann 2010-01-25