由于C#支持线程,有没有办法在C#中实现fork概念?
提前致谢....
答案 0 :(得分:18)
这更像是.NET / CLR而不是C#。通常,这是底层操作系统的问题。 Windows不支持fork()
- 类似于生成新进程的语义。此外,fork()
与多线程支持无关。
fork()
的语义涉及复制原始进程的地址空间的内容。我的观点是,这是一种过时的流程创建方法,在Windows世界中几乎没有空间,因为它涉及很多安全和操作系统架构问题。
从.NET的角度来看,fork()
的基本问题是在两者之间复制和/或共享非托管资源(文件句柄,同步对象,窗口句柄(!)等)的方法。旧的和新的过程。我认为没有严肃的理由将此概念引入.NET或基础Windows操作系统。
有关进一步讨论,请参阅saurabh的链接。