Haskell 强制阻止,直到异常处理程序完成
我希望能够处理线程Haskell 强制阻止,直到异常处理程序完成,haskell,concurrency,exception-handling,ghc,Haskell,Concurrency,Exception Handling,Ghc,我希望能够处理线程A中的异步异常,这样,如果另一个线程B调用throwTo,该调用将阻塞,直到A中的处理程序有机会完成为止。据我所知,只有在异常被“接收”之前才会阻塞 我原以为聪明地使用不间断提问也许会对我有所帮助,但我被难倒了 编辑:我刚刚注意到: 使用try和catch进行恢复的区别在于 捕获处理程序位于隐式块内(请参见“异步 异常),这在捕获异步异常时非常重要 我想这可能意味着catch实际上会实现我想要的功能(我使用的是onException),但事实似乎并非如此。因此,作为另一个问题:
A
中的异步异常,这样,如果另一个线程B
调用throwTo
,该调用将阻塞,直到A
中的处理程序有机会完成为止。据我所知,只有在异常被“接收”之前才会阻塞
我原以为聪明地使用不间断提问
也许会对我有所帮助,但我被难倒了
编辑:我刚刚注意到:
使用try和catch进行恢复的区别在于
捕获处理程序位于隐式块内(请参见“异步
异常),这在捕获异步异常时非常重要
我想这可能意味着
catch
实际上会实现我想要的功能(我使用的是onException
),但事实似乎并非如此。因此,作为另一个问题:“处理程序在隐式块中
”在这里是什么意思?您始终可以通过创建自己的,
,但您可能已经知道了。