如何在 Haskell 中休眠或延迟线程?
How to sleep or delay the thread in Haskell?
这真的不应该那么难找到答案,但可惜我不......我想延迟 do
块中的下一个执行步骤。我找到了功能
delay
,
sleep
,
nanosleep
和
usleep
.
还有这个问题,它不包括如何使用这些,但是:Sleep in Haskell。
所有这些我都遇到了同样的错误,所以我可能从根本上做错了什么:
Variable not in scope: delay :: Integer -> IO a0
这是我的测试片段:
main = do
{
putStrLn "line 1"
; delay 2
; putStrLn "line 2"
}
出于某种原因,谷歌搜索错误实际上并没有产生任何有用的信息。
嗯,你必须先导入Control.Concurrent
:
import Control.Concurrent
threadDelay 1000000 --sleep for a million microseconds, or one second
这真的不应该那么难找到答案,但可惜我不......我想延迟 do
块中的下一个执行步骤。我找到了功能
delay
,
sleep
,
nanosleep
和
usleep
.
还有这个问题,它不包括如何使用这些,但是:Sleep in Haskell。
所有这些我都遇到了同样的错误,所以我可能从根本上做错了什么:
Variable not in scope: delay :: Integer -> IO a0
这是我的测试片段:
main = do
{
putStrLn "line 1"
; delay 2
; putStrLn "line 2"
}
出于某种原因,谷歌搜索错误实际上并没有产生任何有用的信息。
嗯,你必须先导入Control.Concurrent
:
import Control.Concurrent
threadDelay 1000000 --sleep for a million microseconds, or one second