gpt4 book ai didi

multithreading - 在耶索德运行 future 服务

转载 作者:行者123 更新时间:2023-12-03 12:52:22 25 4
gpt4 key购买 nike

在Scala Play框架中,建议在数据库(Future)中执行长时间运行的过程,例如数据库访问,因为监听Web请求的工作线程数量有限。通常通过将进程包装在Future { ... }中并使方法返回Future[SimpleRequest]来完成此操作。

我应该在Yesod中做类似的事情吗?如果是这样,怎么办?

我了解Haskell(GHC)的线程非常轻巧(“ Spark ”)。 Yesod是否在单独的 Spark 中启动每个请求?

最佳答案

每个Yesod请求都在其自己的绿色线程中运行( Spark 实际上意味着GHC领域中的其他事物,但这听起来与您从Scala所使用的相似)。与客户端的连接终止时,该线程将终止。如果您希望某些东西超出该线程的使用生命周期,请使用forkIO,或者-我认为更好的选择-使用async包。

关于multithreading - 在耶索德运行 future 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25450096/

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