基于进程的并行

基于进程的并行 spawn启动一个 新的解释器进程的是 父进程。 运行进程对象的 方法所必须的资源才行 子进程继承的。 特别地,来自父进程的 非必需文件描述符和句柄 不会被继承的。 使用此方法启动进程 相比使用 fork 慢上许多的。 或 要慢上许多的。于可使用的POSIX以及平台之上, 默认存在于以及macOS之上。fork父进程借助某种方式去致使 出现 使用解释器进行分叉的情况。子进程在起始阶段事实上跟父进程是一样的。父进程的全部资源都被子进程所继承。需要留意的是, 对多线程进程进行安全分叉是很复杂难办的。于POSIX系统之上能够使用, 当前在除macOS以外的POSIX那里是默认之值。备注于3.14之上, 默认的启动方式将不会再是fork, 需要使用fork的代码, 应当通过显式的途径, 借助或的方式来予以指定。于3.12版本出现变更, 要是能检测出你的进程存在多个线程, 那么在该启动方法的内部调用函数会引发相关情况, 请运用其他启动方法, 进一步的解释可参考文档。程序启动, 选取启动方法时刻, 会诞生一个服务器进程。自该时刻起, 每当有新进程需求时, 父进程会连接至那服务器, 向其请求分叉出一个新进程。分叉服务器进程是单线程的, 除非因系统库或者预加载导入的附带影响致使这点发生改变, 所以如此使用通常是安全的。没有不必要的资源被继承。对于支持借助 Unix 管道去传递文件描述符的 POSIX 平台而言才行得通, 比如说就像 Linux 这样属于这类平台的情况。