4

たとえば、同じモナドのコンテキストで複数の同時プロセスを実行する必要がありますConnection。私は次のようなものがうまくいくと思っていました:

main = runConnection connectionSettings $ do
  forkIO action1
  forkIO action2
  action3

ただし、コンテキストforkIOで実行する必要がありIO、アクションも実行する必要がありIOます。

これらのアクションに type があると仮定すると、:: Connection ()それらを同時に実行するには何をする必要がありますか (どのインスタンスを実装するかなど)。

現在、私は次のようにこれを回避していますが、明らかにこれは正しくありません:

main = do
  forkIO $ runConnection connectionSettings action1
  forkIO $ runConnection connectionSettings action2
  runConnection connectionSettings action3
4

1 に答える 1