我想建立一个使用
自动提取github存储库的系统System.cmd("git",["pull", link])
此命令是否阻止?如果我在许多演员中同时启动它,我总能获得与演员一样多的拉动(或者至少是系统的插座限制)?
如果没有,无论如何都要实现它?
答案 0 :(得分:3)
Erlang和Elixir IO是非阻塞的,因此一个进程的IO通常不会以任何方式影响其他进程。 Joe Armstrong describes this in a blog post:
所以我们的代码“看起来像”我们正在进行同步阻塞读取。 看起来像是在引号中,因为它实际上不是阻塞读取, 它实际上是一个异步读取,不会阻止任何其他Erlang 过程