我是二郎的新手。我想知道是否可以在 erlang 中中断处理器。假设我们有处理器 x 执行一个需要很长时间才能执行的函数 f1()。我想找到一种有效的方法来中断处理器 x 以执行函数 f2() 并在执行 f2() 之后返回执行 f1() 从它被中断。
这样做的一种方法(虽然不完全是我想要的)是让 f1() 由处理器(命名为 f1_proc)执行,而 f1_proc 的创建者等待诸如 [interrupt, f1_terminated, etc ..] 之类的消息如果收到中断,则执行 f2()。
然而,这并不是我想要的。如果 f2() 取决于 f1() 怎么办?在这种情况下,f1() 被暂停,f2() 被执行,然后 f1() 应该从它停止开始。我知道我们可以终止一个进程,但我们可以暂停它们吗?