进程和线程
@Mackyhuang
进程
- 进程中有若干个线程
- 逻辑内存在进程中的,其实是指的是寻址空间,说明的是你拥有多少的逻辑内存可用,而不是说它拥有那么多物理内存
- 进程和进程不能共享内存,线程是可以的,每个进程的内存都是互相独立的
- 线程间通信方便,需要通过进程间通信
- 文件和网络句柄,是所有进程共享的
线程
- 线程中是一个栈,一个Program Counter
- 程序计数器Program Counter(取出的下一个指令地址)
- 操作系统真正在运行的是线程,进程只不过是一个容器
- 线程本地存储Thread Local Storage,线程独有的数据存在处
#
- 进程间通信通常使用TCP/IP协议,还有其他操作系统相关性比较强方法, 线程间的通信因为共享内存,所以可以通过指针进行
- 进程开销大, 需要大量内存,而一个线程只需要一个栈一个pc还要一个tls就足够啦