gpt4 book ai didi

multithreading - 我可以唤醒特定的 Haskell 线程吗?

转载 作者:行者123 更新时间:2023-12-04 23:58:36 26 4
gpt4 key购买 nike

有没有办法唤醒 Haskell 中的特定线程?有一个function that suspends the current thread .但是醒着的对应物似乎并不存在。

最佳答案

yield不会挂起当前线程 - 它将它移动到运行队列的后面。它仍然在运行队列中,它只是确保其他可运行线程(可能不是所有可运行线程,如果定义了多个执行上下文,这使得这是一个非常弱的保证)在它继续之前有机会运行。大多数情况下,您应该忽略 yield .唯一的异常(exception)是当您确切地了解它的作用以及为什么这很重要时。

要真正挂起和恢复线程,MVar s 是要走的路。当一个线程等待一个空 MVar ,它从可运行队列中删除。当一个值被放入 MVar ,一个等待它的线程(我相信在 GHC 中它总是等待该 MVar 最长的线程,但不能保证)被放回可运行队列。

关于multithreading - 我可以唤醒特定的 Haskell 线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13442356/

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