ハスケルの新機能です。最近、私はHaskellによってゲームを作りようとしていました。そのゲームでは、複数のスレッドを作成するためにConcurrentを使用します。Haskellでシェア変数を作成するには?
data Msg = C Char | Time
forkIO $ userThread chan
forkIO $ processThread startTimer
userThread :: MVar Msg -> IO()
userThread chan = forever $ do
c <- getChar
putMVar chan (C c)
showStr(show c)
processThread :: MVar Msg -> IO()
processThread chan = forever $ do
threadDelay (startTimer)
putMVar chan (Time)
スレッド間で共有される他のデータをどのように定義するかわかりません。 C++(static double xxx)のような変数を定義して、どの関数でも参照できますか?
ここで「共有変数」とはどういう意味なのか、どのように使用するのかを示すC++コードを教えてください。 – leftaroundabout