一个线程发消息,一个线程收消息,重复很多遍。
import Control.Concurrent
main = do
m <- newEmptyMVar
end <- newEmptyMVar
forkIO (sequence_ [ putMVar m () | _ <- [1 .. 10000000] ])
forkIO (sequence_ [ takeMVar m | _ <- [1 .. 10000000] ] >> putMVar end ())
takeMVar end
zz from newsmth FuncProg faint.
import Control.Concurrent
main = do
m <- newEmptyMVar
end <- newEmptyMVar
forkIO (sequence_ [ putMVar m () | _ <- [1 .. 10000000] ])
forkIO (sequence_ [ takeMVar m | _ <- [1 .. 10000000] ] >> putMVar end ())
takeMVar end
zz from newsmth FuncProg faint.
本文介绍了一个简单的并发编程实验,其中一个线程负责发送消息而另一个线程接收这些消息,该过程被重复执行一百万次。实验使用了Haskell语言,并通过`Control.Concurrent`模块中的`MVar`来进行线程间的同步。
612

被折叠的 条评论
为什么被折叠?



