分叉给你一个全新的进程,它是当前进程的副本,具有相同的代码段。当内存映像发生变化时(通常这是由于两个进程的不同行为),您会分离内存映像(写入时复制),但可执行代码保持不变。任务不会共享内存,除非它们使用某些内存进程间通信 (IPC) https://en.wikipedia.org/wiki/Inter-process_communication原始。
一个进程可以有多个线程,每个线程在进程的同一上下文中并行执行。内存和其他资源在线程之间共享,因此共享数据必须通过一些原语和同步对象(例如mutexes https://en.wikipedia.org/wiki/Mutex, 条件变量 https://en.wikipedia.org/wiki/Condition_variable and 信号量 https://en.wikipedia.org/wiki/Semaphore_%28programming%29),让您避免数据损坏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)