谁能解释一下 fork 和 thread 的区别?
最佳答案
fork 给你一个全新的进程,它是当前进程的副本,具有相同的代码段。随着内存镜像的变化(通常这是由于两个进程的不同行为),您会分离内存镜像(写入时复制),但可执行代码保持不变。任务不共享内存,除非它们使用一些 Inter Process Communication (IPC)原始。
一个进程可以有多个线程,每个线程在进程的相同上下文中并行执行。内存和其他资源在线程之间共享,因此必须通过一些原语和同步对象(如 mutexes、condition variables 和 semaphores)访问共享数据,从而避免数据损坏。
关于c - fork 和线程有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483041/