唤醒睡眠过程 - Erlang

Hay*_*ych 4 erlang

在Erlang被发送到无限的睡眠状态后,是否可以在Erlang中外部唤醒进程?

我想从一个不同的进程中唤醒它,它确实保存了进程的进程ID.

我在我想睡觉的过程中使用了这个:

timer:sleep(infinity)
Run Code Online (Sandbox Code Playgroud)

如果无法将其从外部唤醒,我还有哪些其他选择?

Ste*_*ski 8

而不是使用timer:sleep/1,将进程放入一个receive等待消息.当其他进程希望它继续时,它可以简单地向它发送消息.假设消息与receive正在查找的消息匹配,则第一个进程将退出receive并继续.

  • 另请注意,`timer:sleep/1`的一个实现是`在Timeout后接收 - > ok end`. (4认同)