Drkcore

14 10 2010 Haskell RWH Tweet

Real World Haskell 24章 1-7

並行マルチコアプログラミング

ProductName Real World Haskell―実戦で学ぶ関数型言語プログラミング
Bryan O'Sullivan,John Goerzen,Don Stewart
オライリージャパン / ¥ 3,990 ()
在庫あり。

import Control.Concurrent

communicate = do
  m <- newEmptyMVar
  forkIO $ do
    v <- takeMVar m
    putStrLn ("received" ++ show v)
  putStrLn "sending"
  putMVar m "wake up!"
  • Control.ConcurrentのforkIOを使う
  • 同期変数型MVarを使う
    • MVarはデッドロックの原因になることがある
  • tryTakeMVarとtakeMVarの違い
  • スレッド間で一度だけ通信する場合にはMVarがよい。それ以外はChan型を使う
  • MVar,Chanは非正格

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021