作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在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/
另请参阅:Is this a good substr() for C? strtok() 和 friend 跳过空字段,我不知道如何告诉它在这种情况下不要跳过而是返回空。 我能看到的大多数分词器都有
这个问题在这里已经有了答案: What is a NullPointerException, and how do I fix it? (12 个答案) 关闭 6 年前。 编辑:排序。解决方案见底部
我是一名优秀的程序员,十分优秀!