linux中进程间通信和线程间通信的区别

linux中进程间通信和线程间通信的区别


1.linux中的进程,是有fork()系统调用创建的,进程间都有独立的地址空间,他们之间不能直接通信,必须通过一些IPC进程进程间通信机制来完成。

常见的IPC有:PIPE,命名管道,信号,共享内存以及socket等;

2.linux中的线程,是clone()系统调用创建的,一个进程下的线程间是共享内存空间的,故线程A可以之间访问线程B中定义的变量,但是必须注意并发的情况;

另:“线程上下文”的规模要远远小于进程上下文


总结下:

       进程是系统资源分配的基本单位,而线程是调度的基本单位;

你可能感兴趣的:(linux,socket)