相关疑难解决方法(0)

如何停止GHCi中的无限评估?

当我运行类似:

Prelude> cycle "ab"
Run Code Online (Sandbox Code Playgroud)

我可以看到“ ab”的无限印刷。要停止它,我只需使用Ctrl+即可c。而且有效。

当我跑步时:

Prelude Data.List> nub $ cycle "ab"
Run Code Online (Sandbox Code Playgroud)

我无法阻止它。

题:

  • 为什么会这样呢?
  • 如何停止此操作?

更新:

 Ubuntu: version 18.10  
 GHCi:   version 8.2.2
Run Code Online (Sandbox Code Playgroud)

haskell ghci

15
推荐指数
1
解决办法
390
查看次数

IO操作是否在绿色线程中运行?

给定Control.Concurrent.Async中的示例:

do a1 <- async (getURL url1)
  a2 <- async (getURL url2)
  page1 <- wait a1
  page2 <- wait a2
Run Code Online (Sandbox Code Playgroud)

这两个getURL调用是在不同的OS线程上运行还是在不同的绿色线程上运行?

如果我的问题没有道理...说该程序仅在一个OS线程上运行,这些调用是否仍将同时进行?阻塞IO操作会阻塞整个OS线程以及该OS线程上的所有绿色线程,还是仅阻塞一个绿色线程?

haskell

2
推荐指数
1
解决办法
161
查看次数

标签 统计

haskell ×2

ghci ×1