我在想为什么新的C++11中添加了线程而不是进程。
他们不能围绕平台特定的功能做一个包装器吗?
关于最可移植的多处理方式,有什么建议?fork()? OpenMP?
他们不能围绕平台特定的功能做一个包装器吗?
关于最可移植的多处理方式,有什么建议?fork()? OpenMP?
fork()
,而是编写自己的库函数,可以在支持fork()
和exec()
组合的系统上进行映射。如果您小心谨慎,可以使您的函数具有与Win32上的CreateProcess()
相同或类似的语义。fork()
和pthread_create()
在Linux上映射到相同的底层系统调用(clone()
),因此在某个层面上它们是不可区分的。即使非常传统的进程也会有共享内存段,用于加载他们所共享的对象(映射为读/执行模式)。 - Flexo