Concurrency Yesod一次是否运行多个处理程序(并发)

Concurrency Yesod一次是否运行多个处理程序(并发),concurrency,race-condition,yesod,Concurrency,Race Condition,Yesod,Yesod是否曾交错运行多个处理程序?i、 例如,同一进程中的另一个YesSOD处理程序能否在处理程序monad操作之间运行?是的,YesSOD会定期运行。我很确定这本书没有提到这一点。无论如何,您应该如何同步处理程序?持久调用是否包装在可重复事务中?同时,并发在哪一级——Haskell运行时上下文切换在LIFTIOO动作的中间?WARP使用 FurkIO < /Cult>调用它的并发性。换句话说,它使用标准的Haskell并发原语。您在这里提出的问题是基本的,我强烈建议您阅读Haskell的线

Yesod是否曾交错运行多个处理程序?i、 例如,同一进程中的另一个YesSOD处理程序能否在处理程序monad操作之间运行?

是的,YesSOD会定期运行。

我很确定这本书没有提到这一点。无论如何,您应该如何同步处理程序?持久调用是否包装在可重复事务中?同时,并发在哪一级——Haskell运行时上下文切换在LIFTIOO动作的中间?WARP使用<代码> FurkIO < /Cult>调用它的并发性。换句话说,它使用标准的Haskell并发原语。您在这里提出的问题是基本的,我强烈建议您阅读Haskell的线程模型。Simon Marlow的书将是一个很好的开始。如何同时访问GHSTATE?你在题目的中间问问题。您首先需要了解GHC提供的并发原语。您的问题的简短回答是,每个线程都有一个单独的GHState,并且并发访问不会被阻止。因此,可以有多个处理程序(Postyrouter)并发运行,但任何处理程序的GHState对象都只能由它访问?如果我想要处理程序间状态,我需要正确地同步它们吗?