0
的什麼會使用async
包下面的代碼做:行爲異步包
action <- async $ mapM_ someFunc someList
wait action
請問這個只是產卵其中mapM_
出現一個單獨的線程? (言下之意,這已經比剛mapM_ someFunc someList
沒有好處)
還是會異步執行的mapM_
行動(或者是mapConcurrently
獲得這種行爲的唯一方法)?
的什麼會使用async
包下面的代碼做:行爲異步包
action <- async $ mapM_ someFunc someList
wait action
請問這個只是產卵其中mapM_
出現一個單獨的線程? (言下之意,這已經比剛mapM_ someFunc someList
沒有好處)
還是會異步執行的mapM_
行動(或者是mapConcurrently
獲得這種行爲的唯一方法)?
這隻會產生一個線程,其中mapM_發生?
是的,它將fork一個線程並立即阻止等待mapM_完成並返回一個()
(或拋出異常)。
這個async
包很簡單;您可能希望查看源代碼以瞭解它們如何一起工作,並瞭解有關基礎Haskell併發基元的更多信息。