gpt4 book ai didi

multithreading - Haskell:为什么 `par` 是这样定义的?

转载 作者:行者123 更新时间:2023-12-04 16:40:33 26 4
gpt4 key购买 nike

par声明为:

par  :: a -> b -> b

请注意,该参数 one 已被丢弃。为了使用 par,您需要玩一些技巧,例如多次使用相同的表达式。

如果它的目的是并行执行 a 和 b,为什么不是这样定义的?:
par  :: (a, b) -> (a, b)

获取(未计算的)表达式的元组并返回相同的表达式 - 而它们可能会在后台线程上实现。

后一种模式似乎比前一种更简单。为什么选择这样的设计?

最佳答案

在前者中,您可以轻松触发两次以上的计算,

c1 `par` c2 `par` c3 `par` c4 `pseq` something c1 c2 c3 c4

这在后者中会相当麻烦。

关于multithreading - Haskell:为什么 `par` 是这样定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10166640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com