【问题标题】:Why does it take longer to call a fork() than it does to call pthread_create()?为什么调用 fork() 比调用 pthread_create() 需要更长的时间?
【发布时间】:2011-02-14 18:42:44
【问题描述】:

我想知道,是不是因为它们只需要一个堆栈和存储寄存器,所以创建起来很便宜?

非常感谢:)

【问题讨论】:

    标签: pthreads fork createprocess


    【解决方案1】:

    fork() 必须克隆整个进程及其所有相关的内核数据结构,包括文件句柄、内存等。虽然这可以通过设置适当的写时复制标志来懒惰地完成,但这比创建一个新线程要多得多,它只是共享相同的文件句柄和内存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多