当前位置: 技术问答>linux和unix
关于fork的讨论
来源: 互联网 发布时间:2016-11-30
本文导语: fork 为什么要设计成一次调用两次返回呢?这样做的好处是什么, 和windows的机制比较,哪个方式好一些呢? | 摘自MSDN: “差别最大的一个方面是进程模型。UNIX 有 fork,而 Win32 则没有。根据 fo...
fork 为什么要设计成一次调用两次返回呢?这样做的好处是什么,
和windows的机制比较,哪个方式好一些呢?
和windows的机制比较,哪个方式好一些呢?
|
摘自MSDN:
“差别最大的一个方面是进程模型。UNIX 有 fork,而 Win32 则没有。根据 fork 和基本代码的使用情况,Win32 有两个可以使用的 API:CreateProcess 和 CreateThread。分支出自身的多个副本的 UNIX 应用程序可以在 Win32 中修正,或者使用多进程,或者使用包含多个线程的单进程。如果使用多进程,则有多种 IPC 方法可用来在各个进程之间通信(如果需要 fork 提供的功能,或许还可以用来将新进程的代码和数据更新为同父级一样)……”
“差别最大的一个方面是进程模型。UNIX 有 fork,而 Win32 则没有。根据 fork 和基本代码的使用情况,Win32 有两个可以使用的 API:CreateProcess 和 CreateThread。分支出自身的多个副本的 UNIX 应用程序可以在 Win32 中修正,或者使用多进程,或者使用包含多个线程的单进程。如果使用多进程,则有多种 IPC 方法可用来在各个进程之间通信(如果需要 fork 提供的功能,或许还可以用来将新进程的代码和数据更新为同父级一样)……”
|
不是返回两次把。。
if(fork() == 0)
{
//这里执行 子进程的 dd
}
else
{
//这里执行父进程的 dd
}
两个 进程各执行一次 本质和windows没区别阿
if(fork() == 0)
{
//这里执行 子进程的 dd
}
else
{
//这里执行父进程的 dd
}
两个 进程各执行一次 本质和windows没区别阿
|
windows是把fork和execve绑在一起了
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。