线程本身不具备资源,只能共享进程的资源,进程们共享计算机的资源。
在某种程度上,多进程是共同使用物理内存的。
由于操作系统的进程管理,进程间的内存是独立的,这样就确保了每一个进程运行时的安全性。
进程默认是无法访问进程空间之外的内存的。
而共享内存允许不相关的进程访问同一片物理内存,原理就是将物理内存放到各个进程的页表中去,让那些进程通过页表去访问共享内存。
共享内存允许两个毫不相关的进程访问同一片物理内存,共享内存是进程之间共享和传递数据最快的方法。
共享内存有一个问题:就是他本身没有提供同步机制,需要借助其他机制管理访问。
使用共享内存的完整流程是:进程申请共享内存,连接到进程空间,使用共享内存,脱离内存空间&删除。