进程和线程的区别
线程:
线程包括:1、栈(调用堆栈):main函数进行函数调用,每次调用把所用参数和返回值压入栈中
2、PC(program counter):存放下一条指令执行的地址。pc会指向这条代码所在的内存
3、TLS(trend local storage):线程的独立内存
进程:
进程包括:1、线程
2、内存(逻辑内存):32位/64位操作系统就是以逻辑内存的寻址空间区分的。32位操作系统每个进程都会有4G的内存空间。每个进程的内存空间都是相互独立的。
3、文件/网络句柄:所有进程共有,如都可以打开同一个文件/抢同一个网络端口
总结:1、进程只是一个容器,线程才是操作系统真正运行的。
2、进程间没有共享内存,所以需要使用TCP/IP端口实现交互
3、线程间交互,由于有共享内存,可以直接交互